你是怎么在 Linux 干掉进程的?

开源Linux

共 2574字,需浏览 6分钟

 · 2022-10-14

链接:https://mp.weixin.qq.com/s/RiByJ1Pxv2rJw4xrs5UIDg

我想干掉Liunx某个进程怎么搞?

如果进程在前台运行,你可以使用 Ctrl+C 终端快捷方式。但是,如果进程不可见(在后台运行),你可以使用专用命令杀死它。

终止进程是指在执行过程中停止进程。如果你知道进程ID(PID),则可以使用 kill 命令,如下所示:

kill <signal> <PID>

在上面的语法中,signal指的是要发送终止的终止信号,并且PID指的是进程的 ID。

还有一个 killall 命令,我将在本文中讨论kill 和 killall 命令。

Linux 中的终止信号

当一个进程被操作系统或用户终止时,即进程没有自行完成,它会被发送一个终端信号。

以下是可用的终止信号:

常用的信号 9 和 15

获取进程的PID

你还需要了解要终止的进程的详细信息。使用 kill 命令,你必须提供进程的 ID(PID)。你可以从进程名称中获取 PID

> pidof exact_process_name

比如获取java进程的进程号

> pidof java
8075 1032

在 Linux 命令行中终止进程

使用 kill 命令

kill命令要求你知道要终止的进程的 ID,以及可选的终止信号。

要简单地终止命令,请使用以下语法:

kill [signal] <PID>

向 PID 发送终止信号是可选的,如果未提供任何信号,则kill默认发送 SIGTERM ( 15),以正常终止所述进程结束。

我启动了sleep 命令的后台进程(它给了我一个 PID)。我们使用kill命令杀死它。

杀死这个特定的实例sleep如下所示:

$  sleep 120 &
[1] 125686

kill 125686
[1]  + terminated  sleep 120

如果我想使用终止信号,我可以使用数值或信号本身:

$ sleep 120 &
[1] 125746

kill -SIGKILL 125746
[1]  + killed     sleep 120

$ sleep 120 &
[1] 125759

kill -9 125759
[1]  + killed     sleep 120

如果 kill 命令没有指定信号,则默认使用 SIGTERM (15)。

使用 killall 命令

如果不知道某个进程的PID是多少,或者该进程有多个子进程,又想一次性杀死子进程和父进程,可以使用killall命令。

killall [signal] <process-name>

kill命令类似,指定终止信号是可选的。当没有指定终止信号时,killall将发送 SIGTERM ( 15) 以优雅地关闭所述进程。

为了演示killall的使用,我将杀死两个正在运行的 sleep 命令。

$ sleep 120 &
[1] 112351

$ sleep 2000 &
[2] 112362

$ killall sleep
[1]-  Terminated              sleep 120
[2]+  Terminated              sleep 2000

此外,你可以使用该-e标志来查找进程名称的完全匹配。

使用 pkill 命令

命令的替代命令killpkill命令。它是pgrepkill命令的组合。

killall杀死所有具有匹配名称的进程。另一方面,pkill使用模式匹配来匹配进程并杀死它们。

pkill [options] pattern

命令中可用的一些有用选项pkill如下:

  • -u: 特定所有者拥有的进程

  • -x: 完全匹配模式的进程

  • -signal: 指定终止信号(默认为 SIGTERM)

结束nginx进程

> pkill nginx

10T 技术资源大放送!包括但不限于:Linux、虚拟化、容器、云计算、网络、Python、Go 等。在开源Linux公众号内回复「10T」,即可免费获取!

shell编程100例(附PDF下载)
IPv6技术白皮书(附PDF下载)
Linux主流发行版本配置IP总结(Ubuntu、CentOS、Redhat、Suse)
批量安装Windows系统
无人值守批量安装服务器
运维必备的《网络端口大全》,看这一份就够了。
收藏:服务器和存储知识入门
什么叫SSH?原理详解,看这一篇就够了!
Nginx面试40问(收藏吃灰)
20 个 Linux 服务器性能调优技巧
超详细!一文带你了解LVS四层负载均衡企业级实践!
收藏 | Linux系统日志位置及包含的日志内容介绍
100 道 Linux 常见面试题,建议收藏,慢慢读~
服务器12种基本故障+排查方法
IT运维管理常用工具大全,让你成为真正的高手
什么是QoS?

Linux学习指南

有收获,点个在看 

浏览 9
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报