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

原文地址:https://www.cnblogs.com/qi-yuan-008/p/14002910.html