这里写自定义目录标题
#解决Linux关闭终端(SSH)后程序自动停止的问题
如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。
Linux 服务器, SSH,程序进程/运行服务
nohup命令,Linux 终端命令窗口
nohup命令及其输出
nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。
该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。
nohup表示不挂起的意思。
一般都是在linux下nohup格式:
nohup commandnohup命令
nohup命令说明:
[root@localhost ~]# nohup [命令] &
注意,这里的‘&’表示此命令会在终端后台工作;反之,如果没有‘&’,则表示此命令会在终端前台工作。
[root@localhost ~]# nohup find / -print > /root/file.log & [root@localhost ~]# nohup find / -print>/root/file. log &
[3] 2349 [3]二三四九
#使用find命令,打印/下的所有文件。放入后台执行
[root@localhost ~]# nohup:忽略输入并把输出追加到"nohup.out"
[root@localhost ~]# nohup:忽略输入并把输出追加到"nohup.out"
#有提示信息
接下来的操作要迅速,否则 find 命令就会执行结束。然后我们可以退出登录,重新登录之后,执行“ps aux”命令,会发现 find 命令还在运行。
用途:不挂断地运行命令。
语法:nohup Command [ Arg … ] [ & ] 语法:nohup Command [ Arg … ] [ & ]
描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部。
举例1:
比如你有一个shell脚本,test.sh;
nohup test.sh &nohuptest.sh&
在shell中回车后提示:
[~]$ appending output to nohup.out[~]$将输出附加到nohup.out
原程序的的标准输出被自动改向到当前目录下的nohup.out文件
4
举例2:
如果使用nohup命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中,除非另外指定了输出文件:
nohup command > output 2>&1 &nohup命令>输出2>&1 &
在上面的例子中,输出被重定向到output文件中。
主要是中间的 2>&1的意思:
这个意思是把标准错误(2)重定向到标准输出中(1),而标准输出又导入文件output里面,所以结果是标准错误和标准输出都导入文件output里面了。
至于为什么需要将标准错误重定向到标准输出的原因,主要因为标准错误没有缓冲区,而stdout有。
类似运行脚本
./文件名
nohup ./wechatbot-amd64-linux &nohup ./wechatbot-amd64-linux&
liunx 程序运行
nohup test.sh &nohuptest.sh&