zl程序教程

您现在的位置是:首页 >  后端

当前栏目

ubuntu终止进程的方法

2023-09-27 14:28:20 时间

在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