美文网首页
Linux:后台执行任务命令之nohup、setsid

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

作者: 朝畫夕拾 | 来源:发表于2019-07-11 13:37 被阅读0次

    对于经常需要在后台连跑的任务,我们经常需要让他在后台运行,而一般我们打开一个窗口运行程序关闭窗口之后,这个运行的程序就会退出。这种情况下我们就需要用到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

          本文链接:https://www.haomeiwen.com/subject/bmwrkctx.html