日期:2014-05-16  浏览次数:20746 次

linux进程相关的命令

?  关于ps命令

◆ ps aux或者ps -ef列出内存中的所有进程

◆ 查找个名称的进程,例如要查找vim:

       ps aux | grep vim | grep -v grep

     第二个grep是为了去掉结果中的grep vim进程(-v表示筛选不存在匹配串的内容)


?  关于进程信号(signal)

◆ 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进程恢复到前台运行。

<