后台执行脚本

需求分析
我们经常会遇到一个问题,当使用SSH远程登录Linux服务器运行一些耗时较长的任务,当用户注销或者网络断开时,终端会收到HUP(hangup)信号从而关闭其所有子进程。

解决办法
Linux中,可以使用nohup将脚本放置在后台运行,其命令如下:

nohup python spider.py params1 > nohup.out 2>&1 & # spider.py:脚本名 params1参数

但在执行上述代码无法查看程序运行过程中python在控制台的输出结果,解决办法:使用-u参数。

nohup python -u spider.py params1 > nohup.out 2>&1 &

此时在工作目录中会产生一个nohup.out文件,使用tail -f: 根据文件描述符进行追踪,当文件改名或被删除,追踪停止。

tail -f nohup.out
posted @ 2020-03-29 20:37  RyanJin  阅读(373)  评论(0编辑  收藏  举报