千家信息网

linux杀进程的方法有哪些

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本文小编为大家详细介绍"linux杀进程的方法有哪些",内容详细,步骤清晰,细节处理妥当,希望这篇"linux杀进程的方法有哪些"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧
千家信息网最后更新 2026年11月02日linux杀进程的方法有哪些

本文小编为大家详细介绍"linux杀进程的方法有哪些",内容详细,步骤清晰,细节处理妥当,希望这篇"linux杀进程的方法有哪些"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

常规篇:

首先,用ps查看进程,方法如下:

复制代码 代码如下:

$ ps -ef

$ ps -ef

……
smx 1822 1 0 11:38 ? 00:00:49 gnome-terminal
smx 1823 1822 0 11:38 ? 00:00:00 gnome-pty-helper
smx 1824 1822 0 11:38 pts/0 00:00:02 bash
smx 1827 1 4 11:38 ? 00:26:28 /usr/lib/firefox-3.6.18/firefox-bin
smx 1857 1822 0 11:38 pts/1 00:00:00 bash
smx 1880 1619 0 11:38 ? 00:00:00 update-notifier
……
smx 11946 1824 0 21:41 pts/0 00:00:00 ps -ef

或者:

复制代码 代码如下:

$ ps -aux

……

smx 1822 0.1 0.8 58484 18152 ? sl 11:38 0:49 gnome-terminal
smx 1823 0.0 0.0 1988 712 ? s 11:38 0:00 gnome-pty-helper
smx 1824 0.0 0.1 6820 3776 pts/0 ss 11:38 0:02 bash
smx 1827 4.3 5.8 398196 119568 ? sl 11:38 26:13 /usr/lib/firefox-3.6.18/firefox-bin
smx 1857 0.0 0.1 6688 3644 pts/1 ss 11:38 0:00 bash
smx 1880 0.0 0.6 41536 12620 ? s 11:38 0:00 update-notifier
……
smx 11953 0.0 0.0 2716 1064 pts/0 r+ 21:42 0:00 ps -aux

此时如果我想杀了火狐的进程就在终端输入:

复制代码 代码如下:

$ kill -s 9 1827

其中-s 9 制定了传递给进程的信号是9,即强制、尽快终止进程。各个终止信号及其作用见附录。

1827则是上面ps查到的火狐的pid。

简单吧,但有个问题,进程少了则无所谓,进程多了,就会觉得痛苦了,无论是ps -ef 还是ps -aux,每次都要在一大串进程信息里面查找到要杀的进程,看的眼都花了。

进阶篇:

改进1:

把ps的查询结果通过管道给grep查找包含特定字符串的进程。管道符"|"用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入。

复制代码 代码如下:

$ ps -ef | grep firefox
smx 1827 1 4 11:38 ? 00:27:33 /usr/lib/firefox-3.6.18/firefox-bin
smx 12029 1824 0 21:54 pts/0 00:00:00 grep --color=auto firefox

这次就清爽了。然后就是

复制代码 代码如下:

$kill -s 9 1827

改进2--使用pgrep:

一看到pgrep首先会想到什么?没错,grep!pgrep的p表明了这个命令是专门用于进程查询的grep。

复制代码 代码如下:

$ pgrep firefox
1827

看到了什么?没错火狐的pid,接下来又要打字了:

$kill -s 9 1827

改进3--使用pidof:

看到pidof想到啥?没错pid of xx,字面翻译过来就是 xx的pid。

复制代码 代码如下:

$ pidof firefox-bin
1827

和pgrep相比稍显不足的是,pidof必须给出进程的全名。然后就是老生常谈:

复制代码 代码如下:

$kill -s 9 1827

无论使用ps 然后慢慢查找进程pid 还是用grep查找包含相应字符串的进程,亦或者用pgrep直接查找包含相应字符串的进程pid,然后手动输入给kill杀掉,都稍显麻烦。有没有更方便的方法?有!

改进4:

复制代码 代码如下:

$ps -ef | grep firefox | grep -v grep | cut -c 9-15 | xargs kill -s 9

说明:

"grep firefox"的输出结果是,所有含有关键字"firefox"的进程。

"grep -v grep"是在列出的进程中去除含有关键字"grep"的进程。

"cut -c 9-15"是截取输入行的第9个字符到第15个字符,而这正好是进程号pid。

"xargs kill -s 9"中的xargs命令是用来把前面命令的输出结果(pid)作为"kill -s 9"命令的参数,并执行该命令。"kill -s 9"会强行杀掉指定进程。

难道你不想抱怨点什么?没错太长了

改进5:

知道pgrep和pidof两个命令,干嘛还要打那么长一串!

复制代码 代码如下:

$ pgrep firefox | xargs kill -s 9

改进6:

复制代码 代码如下:

$ ps -ef | grep firefox | awk '{print $2}' | xargs kill -9
kill: no such process

有一个比较郁闷的地方,进程已经正确找到并且终止了,但是执行完却提示找不到进程。

其中awk '{print $2}' 的作用就是打印(print)出第二列的内容。根据常规篇,可以知道ps输出的第二列正好是pid。就把进程相应的pid通过xargs传递给kill作参数,杀掉对应的进程。

改进7:

难道每次都要调用xargs把pid传递给kill?答案是否定的:

复制代码 代码如下:

$kill -s 9 `ps -aux | grep firefox | awk '{print $2}'

改进8:

没错,命令依然有点长,换成pgrep。

复制代码 代码如下:

$kill -s 9 `pgrep firefox`

改进9--pkill:

看到pkill想到了什么?没错pgrep和kill!pkill=pgrep+kill。

复制代码 代码如下:

$pkill -9 firefox

说明:"-9" 即发送的信号是9,pkill与kill在这点的差别是:pkill无须 "s",终止信号等级直接跟在 "-" 后面。之前我一直以为是 "-s 9",结果每次运行都无法终止进程。

改进10--killall:

killall和pkill是相似的,不过如果给出的进程名不完整,killall会报错。pkill或者pgrep只要给出进程名的一部分就可以终止进程。

复制代码 代码如下:

$killall -9 firefox

读到这里,这篇"linux杀进程的方法有哪些"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。

进程 代码 命令 方法 字符 信号 就是 管道 结果 输入 输出 内容 字符串 文章 火狐 两个 作用 关键 关键字 参数 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 天津市摩尔互联网科技 上海睿民互联网科技有限公司 互联网科技未来 互联网 卓越科技 紫鲸互联网科技 北京禾田雨橡互联网科技 上游互联网科技 广州紫鲸互联网科技 金融科技和互联网金融 互联网和高科技公司 互联网科技寓意 承德科技产业互联网发展 昭通云南众福互联网科技有限公司 中国航天科技大学国际工业互联网 青海科技产业互联网发展 科技赋能视角下互联网保险发展 上海钢联属于互联网科技股吗 梅州GM互联网络科技有限公司 西安有哪些互联网高科技企业 北京瑞云互联网科技有限公司 咖啡网 港股互联网科技股 鑫亿盛互联网科技 爱医互联网络科技 互联网科技圈年度人物 上海万顺科技互联网有限公司招聘 张家口科技产业互联网平台 美国五大互联网科技公司市值多少 互联网科技快速发展优美句子 株洲百竞科技的互联网营销顾问
0