在ubuntu中,终止一个进程或终止一个正在运行的程序,一般是通过 kill 、killall、pkill、xkill 等进行。


-------------------------------------------------------------------
先看两个例子: 

例子一:结束某个程序,如Firefox     

键入命令:
pkill firefox 
例子二: 结束某个进程,如find           

 先用ps命令来查看该进程对应的PID。
 键入ps,显示如下:
PID TTY TIME COMMAND 
285 1 00:00:00 -bash 
287 3 00:00:00 -bash 
289 5 00:00:00 /sbin/mingetty tty5 
290 6 00:00:00 /sbin/mingetty tty6 
312 3 00:00:00 telnet bbs3 
341 4 00:00:00 /sbin/mingetty tty4 
345 1 00:00:00 find / -name foxy.jpg 
348 1 00:00:00 ps 

 可以看到该进程对应的PID是345,现在使用kill命令来终止该进程。
 键入:
# kill 345 

 再用ps命令查看,就可以看到,find进程已经被杀掉了。
 ---------------------------------------------------------------------------
下面来了解相关命令: 

一、查看进程的命令 有ps、pstree、pgrep等:                                          

1、ps                                               
 显示进程信息,参数可省略 
-aux    
-efH    
-e , -A 显示所有进程 
a         
x         
u         
f          
w        
l          

 各列输出字段的含义:

 USER         进程所有者
PID            
 PPID          父进程
 %CPU        CPU占用率
 %MEM      内存占用率
 NI             进程优先级。数值越大,占用CPU时间越少
 VSZ           进程虚拟大小
 RSS            页面文件占用
 TTY            终端ID
 STAT          进程状态
 +---D    不可中断     Uninterruptible sleep (usually IO)
 +---R    正在运行,或在队列中的进程
 +---S    处于休眠状态
 +---T    停止或被追踪
 +---Z    僵尸进程
 +---W    进入内存交换(从内核2.6开始无效)
 +---X    死掉的进程

 +---<    高优先级
 +---N    低优先级
 +---L    有些页被锁进内存
 +---s    包含子进程
 +---+    位于后台的进程组;
 +---l    多线程,克隆线程  multi-threaded (using CLONE_THREAD, like NPTL pthreads do)

PID:进程标识符,系统为每一个进程分配一个识别码,称为PID。          

 ps命令极为常用,其他命令还有:

2.pstree                                          
 树状显示进程信息
-a 显示完整命令及参数 
-c 重复进程分别显示 
-c 显示进程ID PID 
-n 按 PID 排列进程 

3.pgrep <进程名>                             
 显示进程的PID
-l 显示进程名和进程PID 
-o 进程起始ID 
-n 进程终止ID 

二、结束进程的命令 有kill、pkill、killall、xkill等:                                      

kill [信号代码] <进程PID>                  

 根据PID向进程发送信号,常用来结束进程,默认信号为 -9 
 信号代码,可取值如下:
-l [信号数字] 显示、翻译信号代码 
-9 , -KILL 发送 kill 信号退出 
-6 , -ABRT 发送 abort 信号退出 
-15 , -TERM 发送 Termination 信号 
-1 , -HUP 挂起 
-2 , -INT 从键盘中断,相当于 Ctrl+c 
-3 , -QUIT 从键盘退出,相当于 Ctrl+d 
-4 , -ILL 非法指令 
-11 , -SEGV 内存错误 
-13 , -PIPE 破坏管道 
-14 , -ALRM 
-STOP 停止进程,但不结束 
-CONT 继续运行已停止的进程 
-9 -1 结束当前用户的所有进程 

pkill <进程名>                                 
 结束进程族。如果结束单个进程,请用 kill

killall <进程名>                                
 killall和pkill 应用方法差不多,也是直接杀死运行中的程序;如果您想杀掉单个进程,请用kill 来杀掉。

xkill                                                
 在图形界面中点杀进程。
 当xkill运行时鼠标指针变为骷髅图案,哪个图形程序崩溃一点就OK了。如果您想终止xkill ,就按右键取消。
 比如当firefox 出现崩溃不能退出时,点鼠标就能杀死firefox 。
 xkill 调用方法: