[玩转系统] 使用 ps、pgrep、pkill 等掌握 Linux Kill 进程
作者:精品下载站 日期:2024-12-14 13:05:38 浏览:13 分类:玩电脑
使用 ps、pgrep、pkill 等掌握 Linux Kill 进程
对于新系统管理员 (sysadmin) 来说,管理 Linux 中的进程一开始可能会令人畏惧。但通过一些解释和演示,您将了解如何查找并执行 Linux 终止进程,只需使用 ps
和 kill
等命令行工具即可。
在本文中,您将学习用于在任何 Linux 操作系统上定位正在运行和错误的进程、终止(终止)正在运行的进程、查找后台进程等的命令。
在本文结束时,您将像 Linux 专业人士一样从命令行根据进程标识号 (PID) 管理进程。继续阅读以了解有关 Linux 中进程管理命令的所有信息!
先决条件
本文将演练如何在 Linux 中管理进程。如果您想亲自动手,您将需要以下内容:
- Linux主机,可以是虚拟机,也可以是物理机。
- 要尝试 PowerShell 示例,请在 Linux 主机上安装 PowerShell 7.1.1。
- 非 root 用户帐户。虽然不需要 root 访问权限,但会有一个示例,其中 root 用户可以终止另一个用户正在运行的进程。
您选择使用的 Linux 发行版由您决定。本文将基于 Ubuntu 20.04 LTS。但是,这些命令是 Linux 操作系统的标准命令。
准备好开始了吗?好,让我们开始吧。
管理 Linux 中的进程
有时,您可能会遇到需要停止 Linux 系统上正在运行的进程的情况。例如,您可能有一个按计划运行的 bash 脚本。该 bash 脚本配置为通过 cron 作业(Linux 进程调度程序)以另一个用户身份运行。
有时,此脚本会产生错误的进程,从而导致脚本失败。如何在不重新启动系统或停止脚本的情况下杀死那些错误的进程?
在接下来的部分中,您将逐步了解用于在 Linux 系统上查找和终止或终止进程的命令。每个部分都将建立在最后一个部分的基础上。您将了解 ps
、top
、pgrep
、kill
和 pkill
命令全部是 Linux 原生的。
作为奖励,如果 Linux 本机命令不是您的风格,则还包括 PowerShell 等效命令 Get-Process
和 Stop-Process
。
定位流程的工具
在终止进程之前,您必须找到要定位的正确进程。独特的 PID 可实现精确定位。继续阅读以了解如何找到正确的终止进程。
使用ps
命令显示进程信息
进程状态或ps
命令显示与Linux系统上活动进程相关的信息。您可以使用 ps
定位正在运行的进程,甚至后台进程。
默认情况下,命令 ps 将显示当前用户的有效用户标识 (EUID) 的所有进程。运行 ps
命令(如下所示)将返回用户可以终止的每个正在运行的进程。
ps
使用 top
命令查找扩展的进程信息
如果您想查找有关正在运行的进程和系统指标的不断刷新的信息,在这种情况下,您可以使用 top
命令。与ps
不同,top
命令会在设定的时间间隔内更新屏幕上的进程信息。
当您运行 top
命令时,您将看到的不仅仅是 PID。进程详细信息包括 CPU 和内存百分比、Nice 值(CPU 调度进程优先级)以及 Linux 内核设置的进程优先级 (PR)。
对于新的或经验丰富的系统管理员来说,top
命令通常是管理重要系统资源和进程的主要工具。如下所示,top
命令输出比 ps
命令显示更多的进程信息,包括总体系统指标。
htop
是 top
的增强变体,其中包括各种改进,例如彩色终端输出。
假设您想检查进程消耗的内存或 CPU 资源。在这种情况下,您可以使用 top
的 p
开关,如下所示。
top -p 2113
也许您需要显示特定用户名的所有正在运行的进程。 top
命令提供 u
开关来仅显示特定用户的进程。如下例所示,仅显示与用户 ID bkindle
匹配的 PID。
top -u bkindle
使用 pgrep 命令查找特定进程 PID
pgrep
最初是一个 Solaris 命令,后来被移植到 Linux 上使用。 pgrep
结合了 grep
命令的搜索能力和 ps
的进程管理功能,在查找目标的确切进程方面提供了灵活性。
尽管 ps
显示更多信息,但 pgrep
被设计为仅返回所返回进程的 PID。 pgrep
使用许多可用的搜索参数帮助定位进程。在以下示例中,pgrep
显示搜索与 vmtoolsd
匹配的任何进程。
pgrep vmtoolsd
同样,使用 u
开关指定用户 ID,以仅检索与该特定用户关联的进程。如下所示,仅为用户 bkindle
和 vmtoolsd
进程返回单个 PID。
pgrep -u bkindle vmtoolsd
在 Linux 中使用 PowerShell 的 Get-Process
查找进程
典型的 Linux 命令效果很好,但您知道 PowerShell 也能够管理 Linux 进程吗? Get-Process
cmdlet 的工作方式与 Linux ps
命令类似,并返回进程信息。例如,也许您需要查找当前用户 bkindle
正在运行的所有进程。如下所示,找到用户bkindle
的所有PID(通过Get-Process
标记为ID)。
Get-Process -IncludeUserName |
Where-Object {$_.UserName -eq 'bkindle'} |
Select-Object -Property 'Id','UserName','ProcessName'
相关:如何使用 PowerShellWhere-Object 来过滤所有内容
学习了如何定位不同的进程后,请继续阅读以发现在 Linux 中终止或杀死进程的所有方法!
在 Linux 中使用 Kill 命令终止进程
在前面的部分中,您学习了如何使用本机 Linux 和 PowerShell 命令找到要向其发送终止信号的进程的 PID。接下来的部分将解释如何使用 kill
和 pkill
程序、其关联信号和命令行开关。
Linux 信号和进程管理
信号是 Linux 用来与操作系统中运行的进程进行通信的方法。 kill
命令用来终止进程的三个主要信号是:
- 1 (SIGHUP) - 终止交互式程序并导致守护程序(后台服务)重新读取进程使用的配置文件。
- 9 (SIGKILL) - 强制进程退出而不执行正常关闭任务。
- 15 (SIGTERM) - 允许进程正常终止,例如完成后关闭打开的文件。这是使用kill命令时未指定数字时使用的默认信号。
虽然本文只关注用于终止进程的三个主要信号,但总共有 64 个可用信号。使用 kill -l
获取信号列表及其对应的编号。
现在您已经了解了终止进程所使用的三个主要信号,接下来的部分将介绍如何终止进程。
使用 kill
命令终止进程
在下一个示例中,您将使用 kill
命令。假设您正在运行一个名为 pwsh
的 PowerShell 实例,分配的 PID 为 22687。终止此进程的一种方法如下所示。
- 使用 pgrep pwsh 确定
pwsh
进程的 PID(在kill
命令中使用)。 - 使用
kill -s TERM 22687
正常终止pwsh
进程。TERM
命令映射到 15 (SIGTERM) 信号,并使用kill
命令的s
参数进行指示。 - 使用您选择的
top
、ps
或pgrep
来验证 PID 不再列出。
下面显示的是 Ubuntu 20.04 LTS bash 终端的上述过程的示例。
killall 命令将根据名称而不是 PID 终止所有进程,如果不小心使用,这可能会使该命令具有相当大的破坏性。但是,如果您选择使用此命令,请使用 i
选项使命令要求确认。
使用 pkill
按名称终止进程
您可能已经注意到 kill
命令仅适用于进程 ID。这可能会使终止进程成为一个复杂的多步骤过程。 pkill
命令包含在 procps 和 procps-ng 包中,根据搜索的名称终止进程。
从功能上讲,pkill
命令充当 pgrep
程序的包装器。 pkill 命令向找到的每个进程发送指定的信号,而不是仅在终端中列出 PID。 pkill
与 kill
的不同之处在于,pkill
只能使用进程的名称,而不能使用 PID。
默认情况下,pkill
命令在 Ubuntu 20.04 LTS 中不可用。您必须下载并安装该应用程序。为此,请运行sudo apt install mcollective-plugins-process -y
。
要使用 pkill
终止进程,请执行以下步骤:
- 使用
ps
验证 Nano 应用程序(命令行文本编辑器)当前是否正在运行。此步骤是可选的,但在终止进程之前进行安全检查。 - 使用
pkill -9 nano
强制终止 nano 应用程序。
下面显示的是 Ubuntu 20.04 LTS bash 终端的上述过程的示例。
使用 Top
命令终止进程
当您运行 top
命令查看正在运行的进程时,您可以使用 k 按键终止给定进程。您将看到一个交互式提示,询问要终止的进程的 PID。
如下图,运行top
命令,按k输入要杀掉的PID,按Enter键立即终止PID。
接下来,使用 PowerShell Stop-Process
命令了解本机 Linux 命令的另一种替代方法!
使用 PowerShell Stop-Process
命令终止进程
如果 Linux 本机命令不是您的风格,PowerShell 可以满足您的需求!与 kill
命令一样,您可以在 Linux 中使用 Stop-Process
cmdlet 终止进程。再次假设您正在运行 PowerShell pwsh
进程。
- 使用
Get-Process -ProcessName 'pwsh'
查找 PID,并记下要终止的 PID。 - 使用
Stop-Process -Id 29992,30014
终止返回的多个进程。 - 使用
Get-Process -ProcessName 'pwsh'
并验证 PID,29992
和30014
不再列出,这意味着它们已被终止。
您还可以使用 Get-Process
和 kill
方法终止一个或多个进程:(Get-Process -Id [PID]).Kill()
或 (Get-Process -Id [PID1,2,3,4]).Kill()
。
使用 ProcessName
参数时请务必小心。使用此参数的行为类似于 killall
命令,并且将杀死与提供的名称匹配的所有进程。
下面是来自 Ubuntu 20.04 LTS bash 终端的上述过程的示例。
下一步
您现在应该知道在 Linux 中查找和终止进程的多种方法!对于您的下一个挑战,请尝试使用 SSH 连接远程终止进程或终止可能在容器中运行的进程。
相关:Linux 世界中的 Windows 专家:在 Linux 中设置 SSH
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag