Linux服务器如何后台运行程序及查看进程?


1.后台运行程序

(1)&命令

功能:加在一个命令的最后,可以让这个命令放在后台执行

python test.py &

(2)nohup命令

功能:加在一个命令的前面,不挂断的运行程序,退出终端不会影响程序的运行

nohup python test.py 

(3)nohup command [Arg ...] [&]

功能:后台不挂断地运行程序,并且将输出到终端的内容输出到nohup.out

  • command:要执行的命令
  • Arg:一些参数
  • &:让命令在后台执行
nohup python test.py &

2.查看当前后台运行的命令

(1)jobs命令

功能:查看当前终端后台运行的程序

jobs-l 可以显示当前终端所有任务的PID,jobs的状态可以是running,stopped,terminated,+号表示当前任务,-号表示后一个任务

(2)ps命令

功能:查看当前的所有进程

pa-aux  a:显示所有程序  u:以用户为主的格式来显示  x:显示所有程序,不以终端机来区分

3.关闭当前后台运行的命令

kill命令:结束进程

(1)通过jobs查看jobnum,然后执行 kill %jobnum

(2)通过ps命令查看进程号PID。然后执行 kill %PID

Linux nohup 命令 | 菜鸟教程


2022.5.15 学了个新的写法

nohup python -u test.py > test.log 2>&1 & 
  • nohup: no hang up 指不挂起
  • -u: 表示不启用缓存,实时输出打印信息到日志文件
  • > test.log: 指将打印信息输出到test.log这个日志文件
  • 2>&1: 表示将标准错误输出转变化标准输出,可以将错误信息也输出到日志文件中(0-> stdin, 1->stdout, 2->stderr)
  • &: 指后台运行程序

参考博客:Linux下后台运行Python脚本_Loganer的博客-CSDN博客_linux python脚本后台运行

你可能感兴趣的:(学习笔记,linux)