linux杀死进程的五种方法(kill)

添加链接描述
相关博主的链接;

方法一:通过kill 进程id的方式可以实现
首先需要知道进程id, 例如,想要杀死firefox的进程,通过 ps -ef|grep firefox,可以查到firefox的进程id:
在这里插入图片描述
然后通过 kill 3781 就可以关闭进程了.
补充:

  1. kill -9 来强制终止退出, 例如: kill -9 3781
  2. 特殊用法:
    kill -STOP [pid]
    发送SIGSTOP (17,19,23)停止一个进程,而并不消灭这个进程。
    kill -CONT [pid]
    发送SIGCONT (19,18,25)重新开始一个停止的进程。
    kill -KILL [pid]
    发送SIGKILL (9)强迫进程立即停止,并且不实施清理操作。
    kill -9 -1
    终止你拥有的全部进程。

方法二: killall 通过程序的名字,来杀死进程

例如: killall firefox
注意: 该命令可以使用 -9 参数来强制杀死进程, killall -9 firefox

方法三: pkill 通过程序的名字, 直接杀死所有进程
例如: pkill firefox

方法四: 通过xkill 可以杀死图形程序应用, 例如firefox崩溃无响应,可以使用该命令.
例如: 用法xkill , 会出现一个白色的x, 然后用鼠标单击想要杀死的应用,如图

//====================================================================
下面来了解相关命令:

一、查看进程的命令 有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

==========================================================================
pkill的简单用法

pkill 和killall 应用方法差不多,也是直接杀死运行中的程序;如果您想杀掉单个进程,请用kill 来杀掉。
必要参数
-f 显示完整程序
-l 显示源代码
-n 显示新程序
-o 显示旧程序
-v 与条件不符合的程序
-x 与条件符合的程序

选择参数
-p<进程号> 列出父进程为用户指定进程的进程信息
-t<终端> 指定终端下的所有程序
-u<用户> 指定用户的程序

应用方法:
#pkill 正在运行的程序名
举例:
在这里插入图片描述
Java代码
[root@localhost beinan]# pgrep -l gaim
2979 gaim
[root@localhost beinan]# pkill gaim

也就是说:

kill 对应的是 PID

pkill 对应的是COMMAND

例如在Ubuntu中强制结束一个已成僵尸的名称为:firefox,PID为:1603的进程,可以如下操作:

方法一:

(1)ctrl+alt+t,调出终端,输入 top,然后就可以看到现在系统的进程,是按占用资源从多到少排列的。

找到要关掉的进程,记下该进程第一列的数字编号(假设是xx),然后输入q,退回终端。

(2)输入:sudo kill xx(对应刚才的编号)。

方法二:

ctrl+alt+t,调出终端,输入:sudo pkill firefox

范例1: 杀死指定进程
在这里插入图片描述

Java代码
root@snail-hnlinux:~# ps -A //显示所有进程
PID TTY TIME CMD
1 ? 00:00:03 init
2 ? 00:00:00 kthreadd
3 ? 00:00:00 migration/0
4 ? 00:00:00 ksoftirqd/0
5 ? 00:00:00 watchdog/0
……忽略部分
28382 ? 00:00:00 gvfsd-http
28391 ? 00:07:07 software-center
30467 ? 00:00:31 designer-qt4
30487 ? 00:00:06 gnome-terminal
30488 ? 00:00:00 gnome-pty-helpe
30489 pts/0 00:00:00 bash
30670 ? 00:00:00 debconf-communi
30749 pts/0 00:00:17 gedit
31155 ? 00:00:00 dhclient
31325 ? 00:00:01 sshd
31327 ? 00:00:00 sshd
31400 pts/1 00:00:00 bash
31485 pts/2 00:00:00 bash
31653 ? 00:00:00 aptd
31658 pts/1 00:00:00 ps
root@snail-hnlinux:~# pidof sshd //查看与sshd相关进程
31327 31325 2095
root@snail-hnlinux:~# pkill -9 sshd //杀死指定进程

范例2:杀死同义终端下的进程
在这里插入图片描述

Java代码
root@snail-hnlinux:~# pkill -t tty1 //杀死终端1下的所有进程

范例3: 杀死指定用户进程
在这里插入图片描述

Java代码
root@snail-hnlinux:~# pkill -u hnlinux

范例4:反向选择
在这里插入图片描述
Java代码
root@snail-hnlinux:~# pkill -vu hnlinux //杀死不属于hnlinux用户的所有进程

### 回答1: 在Linux下,有多种方式可以进行进程kill操作,包括: 1. kill命令:使用kill命令可以向指定进程发送信号,例如kill -9 PID可以强制杀死指定PID的进程。 2. pkill命令:pkill命令可以根据进程名或者其他条件进行批量kill操作。 3. killall命令:killall命令可以根据进程名杀死所有与该进程名匹配的进程。 4. xkill命令:xkill命令可以通过鼠标操作直接杀死指定的进程。 5. 在终端使用Ctrl+C或Ctrl+Z快捷键可以中断或暂停运行的前台进程。 6. 除此之外,还有一些其他的进程操作命令和工具,例如pgrep、pkillall、htop等。 ### 回答2: Linux是一种非常流行的操作系统,在Linux杀死进程是一个非常常见的操作。下面介绍在Linux操作系统下的杀死进程的几种方法: 1.使用kill命令 kill命令是Linux中最常用的杀死进程的命令。它的语法是:kill [options] PID。其中PID是进程的ID,可以使用ps命令查看进程的ID。例如,如果要杀死进程ID为1234的进程,可以使用以下命令:kill 1234。 kill命令还可以使用不同的信号来杀死进程。默认情况下,kill命令使用SIGTERM信号来杀死进程。如果进程不响应SIGTERM信号,可以使用SIGKILL信号来强制杀死进程。例如,要使用SIGKILL信号杀死进程ID为1234的进程,可以使用以下命令:kill -9 1234。 2.使用pkill命令 pkill命令是另一种常用的杀死进程的命令。与kill命令不同的是,pkill命令可以根据进程的名称或其他属性来杀死进程。例如,如果要杀死名称为firefox进程,可以使用以下命令:pkill firefox。 3.使用killall命令 killall命令与pkill命令类似,也可以根据进程的名称来杀死进程。但是,killall命令与pkill命令的区别在于killall命令不支持使用正则表达式。例如,如果要杀死所有名称为firefox进程,可以使用以下命令:killall firefox。 4.使用xkill命令 xkill命令是在X窗口系统中使用的命令,可以通过鼠标点击来杀死一个窗口或进程。要使用xkill命令,只需要在终端中输入xkill命令,然后单击需要杀死的窗口即可。 5.使用kill pid pid是进程号。直接输入kill pid+回车即可杀死进程。这种方法并不常用。 总之,Linux杀死进程有很多方法,每一种方法都有其自己的优缺点。我们可以根据具体情况来选择使用哪一种方法。 ### 回答3: 在Linux系统中,经常需要杀死进程来解决问题,例如卡死、崩溃等情况。下面介绍常用的 n 种方法杀死进程。 1. kill 命令 kill 命令是最常用的杀死进程命令,其语法为: kill [信号] 进程号 其中信号是可选项,是指发送给进程的信号号码,常用的信号包括: - 9(SIGKILL): 强制终止进程。 - 15(SIGTERM): 发送软件中断信号,可以被捕获和处理。 - 2(SIGINT): 发送中断信号,通常用于终止前台进程。 - 1(SIGHUP): 发送挂起信号,常用于重新加载配置文件。 例如,杀死进程号为 12345 的进程,可以使用以下命令: kill 12345 2. pkill 命令 pkill 命令是 kill 命令的增强版,可以根据进程名或其他条件来杀死进程。其语法为: pkill [选项] 进程名 如需杀死名为 “firefox” 的进程,可以使用以下命令: pkill firefox 3. killall 命令 killall 命令也是根据进程名来杀死进程,其语法为: killall [选项] 进程名 例如,杀死名为 “firefox” 的进程,可以使用以下命令: killall firefox 4. xkill 命令 xkill 命令是一款 GUI 工具,可以在图形界面中选择某个窗口并杀死对应的进程。使用该命令时,鼠标光标会变成一个十字架,点击要杀死的窗口即可。其语法为: xkill 5. top 命令 top 命令可以查看系统进程的信息,包括进程名、进程 ID 号等信息。在 top 命令界面中,可使用 k 命令杀死指定的进程。其语法为: top 在 top 命令界面中,使用 k 命令后,会提示输入要杀死的进程 ID 号,输入后按回车即可杀死对应的进程。 总结:以上就是常用的 Linux 杀死进程方式,通过不同的命令选项,可以根据需求选择合适的方式,来杀死指定的进程。需要注意的是,杀死进程时一定要小心,确保不会影响系统的稳定性和安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值