Linux保持程序后台运行

发布时间 2023-10-16 19:47:09作者: takohubuki

nohup命令

(no hang up)

nohup {some program} &
  • &:让程序在后台运行
  • nohup:在当前目录自动生成nohup.out,可以不挂断地运行命令

当前用户非正常退出或结束的时候,命令仍然可能自己结束。因此使用了nohup的情况下,退出终端的时候需要使用exit才能保证命令一直在后台运行

后台程序管理

  • jobs命令
    jobs命令可以查看当前有多少程序在后台运行
jobs -l

jobs的状态可以是running, stopped和terminated. 如果任务被终止了,shell会删除任务的PID

日志处理

可以通过以下命令将程序的输出重定向到指定文件

nohup {some program} > {some file}

更进一步,我们可以通过以下命令将错误输出和标准输出都重定向到指定文件

nohup {some program} > {some file} 2>&1 &