linux 线程的暂停与继续

2020-08-04 22:13:11 浏览数 (1)

在我们设计程序的时候很可能很难算出一个进程占用多少cpu和mem,可是当进程的mem占用达到80%的时候,很可能会出现进程被killed的情况,所以需要我们及时的暂停进程的运行,来防止程序超出资源的占用。

进程的查询与杀死

ps

代码语言:javascript复制
ps -ef |grep handler
-A  显示所有程序。 
-e  此参数的效果和指定"A"参数相同。
-f  显示UID,PPIP,C与STIME栏位。
代码语言:javascript复制
ps aux | grep handler

kill

代码语言:javascript复制
kill 进程号
强制杀死
kill -9 进程号

进程的暂停与继续

stop

代码语言:javascript复制
kill -STOP 1234 将该进程暂停。

continue

代码语言:javascript复制
kill -CONT 1234

但是原本在前台运行的进程是可能不可以恢复,只有原来在后台运行的可以。

前后台切换命令

把进程恢复到前台

代码语言:javascript复制
fg  进程号

fg  n 让后台运行的进程n到前台来

fg

将后台中的命令调至前台继续运行

让进程到后台去

代码语言:javascript复制
 bg  n 让进程n到后台去; 
 将一个在后台暂停的命令,变成继续执行

&

代码语言:javascript复制
& 让进程在后台运行

jobs

代码语言:javascript复制
jobs 查看后台运行的进程

ctrl z

代码语言:javascript复制
可以将一个正在前台执行的命令放到后台,并且暂停

nohup command > myout.file 2>&1 &

0 人点赞