在Linux中后台运行程序

后台运行程序

由于网络等原因,当SSH链接断开后,该会话中的进程会收到内核发出的SIG_HUP(挂机)信号,默认情况下程序会结束运行。所以想要长期稳定地运行一个进程,可以将其放入后台。

  1. 一种简单方法是用shell的作业控制机制来实现。运行python test.py时,只需在shell中输入以下命令

    nohup python test.py >log.txt 2>&1 &
    

    便可以让程序不响应SIG_HUP信号、放入后台运行,所有输出(stdout和stderr)都被重定向至log.txt文件中,直接用文本阅读器打开查看即可。可以使用topps -elf来查看所有运行的进程,使用kill 进程PID来结束进程。

  2. 另一种方法是借助screentmux这种工具,创建一个与SSH无关的会话。

posted @ 2020-08-26 14:41  zzdyyy  阅读(389)  评论(0编辑  收藏  举报