在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    以BSD风格显示进程 常用

-efH    以System V风格显示进程

-e , -A 显示所有进程

a         显示终端上所有用户的进程

x         显示无终端进程

u         显示详细信息

f          树状显示

w        完整显示信息

l          显示长列表


在终端中执行ps aux,如下图:

linux结束python kill linux结束命令_linux结束python kill



各列输出字段的含义:


USER         进程所有者

PID            进程ID

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 调用方法:

[root@localhost ~]# xkill