Linux的nohup命令使用 —— 在服务器后台一直执行程序
nohup结合&的一般使用方式:
- nohup some_command &
- nohup some_command >some_file.log 2>&1 &
nohup是no hang up 的缩写,表示不挂断,忽略所有挂断(SIGHUP)信号 —— 即可以使程序一直执行。
在nohup命令末尾加上 & :这个 '&' 号表示在后台运行。
缺省时,该命令的所有输出都被重定向到当前目录下一个nohup.out文件中。
所以:
结合nohup 和 & 的方式能够保证我们在服务器上部署任务时,退出终端,任务依然能够在后台一直执行。
例如:
- nohup sh test.sh &
或者
- nohup python test.py &
也可以像上面一样重定向输出文件 >some_file.log,2>&1 表示将标准错误也写回也重定向到标准输出中(这里就是这个 some_file.log,缺省时指 nohup.out 文件)。
ps : 每次执行完nohup + ...... + & 就会出现一个进程号,可以使用ps查看当前运行的进程号,看程序是否在执行。
或者具体名称查找:ps ax | grep test.py
kill -9 进程号:当你想终止该任务时,使用kill -9 加进程号的方式。
#
参考:
https://blog.csdn.net/csdnliuxin123524/article/details/90419017
https://www.cnblogs.com/zq-inlook/p/3577003.html