nohup命令启动sh文件不输出日志

技术介绍

nohup命令是Linux系统中用于在后台运行程序的命令,即使用户退出登录或者终端关闭,程序仍然会继续运行。nohup命令的基本语法格式如下:

nohup command [option]... [arg]... &

nohup命令启动sh文件不输出日志

command是要执行的命令,[option][arg]是可选的参数。&符号表示将命令放到后台运行。

使用方法

1、打开终端,输入以下命令启动一个简单的shell脚本:

nohup sh test.sh > output.log 2>&1 &

这条命令的作用是以非交互模式运行名为test.sh的shell脚本,并将标准输出和错误输出重定向到output.log文件中,最后将进程放到后台运行。

2、如果需要查看后台运行的进程,可以使用ps命令:

ps aux | grep test.sh

3、如果需要停止后台运行的进程,可以使用kill命令:

nohup命令启动sh文件不输出日志

kill [进程ID]

4、如果需要查看被终止进程的状态,可以使用ps -o state= -p [进程ID]命令:

ps -o state= -p [进程ID]

相关问题与解答

1、如何查看nohup命令的帮助信息?

答:nohup命令的帮助信息可以通过输入nohup --help或查看其手册页(man page)获取,手册页可以通过输入man nohup查看。

2、为什么使用nohup命令启动的程序会在终端关闭后自动退出?

答:使用nohup命令启动的程序会在终端关闭后自动退出,是因为nohup命令只是将程序放到了后台运行,并没有将其与终端会话关联起来,当终端关闭时,与其关联的所有进程都会被终止,如果需要让程序在终端关闭后继续运行,可以将程序与一个新的会话关联起来,例如使用tmuxscreen等工具。

nohup命令启动sh文件不输出日志

3、如何让nohup命令启动的程序在后台运行时不占用终端?

答:可以使用disown命令将程序从当前终端会话中分离出来,这样即使终端关闭,程序也会继续在后台运行,具体操作如下:

nohup command > output.log 2>&1 & disown && exec $SHELL

4、如何查看nohup命令启动的程序的PID?

答:可以使用echo $!命令查看最近一个后台运行的进程的PID。

nohup command > output.log 2>&1 & echo $! > pid.txt && exec $SHELL

原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/127741.html

(0)
K-seoK-seoSEO优化员
上一篇 2023年12月15日 09:13
下一篇 2023年12月15日 09:15

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

免备案 高防CDN 无视CC/DDOS攻击 限时秒杀,10元即可体验  (专业解决各类攻击)>>点击进入