在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,
各列输出字段的含义:
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