Linux:后台执行任务命令之nohup、setsid

对于经常需要在后台连跑的任务,我们经常需要让他在后台运行,而一般我们打开一个窗口运行程序关闭窗口之后,这个运行的程序就会退出。这种情况下我们就需要用到setsid命令,我们先来看看setsid命令的用法:

setsid [options] program [arguments]

可以写一个脚本然后在后台运行

setsid   python3    ./app.py



nohup         HUP(hangup,挂断)

让提交的命令忽略 hangup 信号

nohup   python3   run.py  &

# ctrl+z     #挂起到后台

# ctrl+d     # 或者  关闭窗口  进程任然会在后台执行

setsid                在新session执行命令

setsid  python3  app.py &

参考

Linux后台执行的方法 - 关闭、退出不影响

[Linux] nohup/setsid/& 让进程在后台可靠运行

linux setsid  后台启动后,怎么关闭呢??

1     ps  -aux | grep  app.py

2    kill  -9  24238



遇到问题

nohup  python  flush.py  &

这样运行,生成了nohup.out文件,但是内容始终是空的,试了半天也不行。浪费了不少时间。

原因

python的输出又缓冲,导致out.log并不能够马上看到输出。

-u 参数,使得python不启用缓冲。

解决

nohup  python  -u  flush.py  >  flush.log2 > &1 &

你可能感兴趣的:(Linux:后台执行任务命令之nohup、setsid)