云上python:【三】Linux下程序持续运行与杀死程序
目录
2. ps(Process Status) 列出系统中当前正在运行的进程
一、 设定程序持续运行
1. nohup :不挂断地运行命令
语法:nohup Command [ Arg … ] [ & ]
无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。
如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。
如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。
退出状态:该命令返回下列出口值:
126 可以查找但不能调用 Command 参数指定的命令。
127 nohup 命令发生错误或不能查找由 Command 参数指定的命令。
否则,nohup 命令的退出状态是 Command 参数指定命令的退出状态。
2. & :持续在后台运行
& 一般和nohup两个一起用,表示在后台一直运行:
nohup command &
举例说明:
nohup python login.py >> mylog.log 2>&1 &
- &: 即使terminal(终端)关闭,或者电脑死机程序依然运行;
- 2>&1: 这个意思是把标准错误(2)重定向到标准输出中(1),而标准输出又导入指定文件里面,所以结果是标准错误和标准输出都导入到指定文件里面了。
0 表示stdin标准输入 1 表示stdout标准输出 2 表示stderr标准错误
> file 表示将标准输出输出到file中,也就相当于 1>file 2> error 表示将错误输出到error文件中 2>&1 也就表示将错误重定向到标准输出上 2>&1 >file 错误输出到终端,标准输出重定向到文件file,等于 > file 2>&1(标准输出重定向到文件,错误重定向到标准输出)。
- >> mylog.log: 表示指定输出导入该文件
二、 关闭后台运行的程序
如果需要关闭后台挂起的程序,首先要查看该线程的编号,下面介绍两种查询方式:
1. jobs :查看运行的后台进程
当我们用nohup和&将程序挂在后台后,如果需要需要在当前终端查询后台程序,可以输入jobs进行查看:
注意:jobs命令只看当前终端生效的,关闭终端后,在另一个终端jobs已经无法看到后台跑得程序了。我们重新打开putty登录尝试:
可以发现,jobs已经无法查询到任何后台进程,因为我们刚刚重开了一个terminal,而jobs只对当前terminal有效。
如果需要在新的terminal里查看进程号,需要利用ps(进程查看命令)进行查询:
2. ps(Process Status) 列出系统中当前正在运行的进程
①. ps -ef :用标准的格式显示进程
UID | 用户ID、但输出的是用户名 |
---|---|
PID | 进程的ID |
PPID | 父进程ID |
C | 进程占用CPU的百分比 |
STIME | 进程启动到现在的时间 |
TTY | 该进程在哪个终端上运行。 若与终端无关,则显示? 若为pts/0等,则表示由网络连接主机进程。 |
CMD | 命令的名称和参数 |
②. ps aux :用BSD的格式来显示
USER | 用户名 |
---|---|
CPU | 进程占用的CPU百分比 |
MEM | 占用内存的百分比 |
VSZ | 该进程占用的固定內存量(KB)(驻留中页的数量) |
RSS | 进程启动到现在的时间 |
STAT | 进程的状态 |
START | 该进程被触发启动时间 |
TIME | 该进程实际使用CPU运行的时间 |
②. grep :复合查找
既然可以用ps列出当前进程了,那我们使用grep查找,指定查找python运行程序:
ps -ef |grep python
同理,也可以使用aux去指定查找:
ps aux |grep python
如果我们只想提取进程号,可以用awk对其进行指定:
注:用ps -def | grep查找进程很方便,最后一行总是会grep自己
用grep -v参数可以将grep命令排除掉
3. kill :杀死该进程
如果该进程可以用jobs查找,可以直接指定关闭:
kill %i (i为jobs里的编号)
如果已经更换了terminal,就是用ps查询进程号后再杀死该进程:
kill -9 进程号
可以发现,后台的进程已经被杀死了。
本文参考资料:
https://www.cnblogs.com/baby123/p/6477429.html
https://blog.csdn.net/weixin_34227447/article/details/91899900
https://www.cnblogs.com/mydriverc/p/8303242.html
如有疑问或错误,欢迎和我私信交流指正。
W.By ChenYX,未经授权,请勿转载!
over~
更多推荐
所有评论(0)