Skip to content

如何让程序在linux服务器下一直运行(关闭远程连接后仍然继续运行)

Written by

Nauxniqnah

如何让程序在linux服务器下一直运行(关闭远程连接后仍然继续运行)

nohup 命令 目标对象
nohup python train.py

nohup放在命令道的开头,表示不挂起(no hang up),也即,关闭终端或者退出某个账号,进程也继续保持运版行状态,一般配合&符号一起使用。如nohup command &,添加 & ( 表示“and”的符号)到命令的尾部。

关闭nohub开启的命令

ps -ef | grep train
kill -9 2215

在这里插入图片描述
1:ps -ef | grep (能识别你的进程名称的关键词):会返回nohup启动的所有相关进程

2:kill -9 pid(pid为每一行的第二个id编码,表示的是该进程的父进程)

杀死父进程就会杀死子进程

nohup python3 -u test.py > test.log 2>&1 &
  • 最后一个”&”表示后台运行程序
  • “nohup”表示程序不被挂起(嵌入式linux系统可能没有)
  • “python3″表示执行python代码
  • “u”表示不启用缓存,实时输出打印信息到日志文件(如果不加u,则会导致日志文件不会实时刷新代码中的print函数的信息)
  • “test.py”表示python3的源代码文件
  • “test.log”表示输出的日志文件
  • “>”表示将打印信息重定向到日志文件
  • “2>&1″表示将标准错误输出转变化标准输出,可以将错误信息也输出到日志文件中(0-> stdin, 1->stdout, 2->stderr)

Previous article

IT项目管理知识点整理

Join the discussion

Leave a Reply

Your email address will not be published. Required fields are marked *