linux进程相关的命令
? 关于ps命令
◆ ps aux或者ps -ef列出内存中的所有进程
◆ 查找个名称的进程,例如要查找vim:
ps aux | grep vim | grep -v grep
第二个grep是为了去掉结果中的grep vim进程(-v表示筛选不存在匹配串的内容)
◆ kill -l 列出系统定义的信号,如图所示:
数字表示信号的序号,字符串表示信号名称,传送信号时可以使用信号序号也可以使用信号名称。
◆ 传送信号时使用kill命令,语法如下:
kill -信号序号 PID,如:kill -9 1234
kill -信号名称 PID,如:kill -SIGKILL 1234 或者 kill -KILL 1234
PID是指进程号,这样该进程会收到对应的信号,如果要对信号进行特殊的处理可以自定义,否则会按照默认的。
◆ 常用的信号
信号名称
信号序号
说明
INT
2
按Ctrl-C键产生该信号,中断程序
TERM
15
kill命令默认传送该信号(即kill PID),终止程序
KILL
9
强制删除进程,一般kill PID无效时,使用kill -9 PID强制结束进程
TSTP
20
按Ctrl-C键产生该信号,在终端中暂停该进程。
◆ 终端中在命令最后加上&符号(即command &)可以将程序放到后台运行,即不影响终端的继续操作。
◆ bg [任务号],将任务放到后台执行。
◆ fg [任务号],将任务恢复到前台执行。
【例子】在终端中运行top命令,该进程一直在运行,终端此时无法输入。按下Ctrl-Z后top命令将暂定运行,输出:
[2]+ 已停止 top
此时top进程实际上没有退出,而是出于“暂停”状态,可以通过前面的ps aux | grep ***命令查到top进程还存在,状态是T。
此时输入bg,会输出:
[2]+ top &
表示该进程已经在后台运行。
输入fg或者fg 2会将top进程恢复到前台运行。