Linux新手如何使用kill和killall来结束进程?

事在人为 技术教程 0

知道如何使用kill和killall命令结束进程并回收系统资源

在Linux中,每个程序和守护程序都是一个 “ 进程 ”。大多数进程代表一个正在运行的程序。其他程序可以派生其他进程,例如侦听某些事情发生并对其做出响应的进程。而且每个过程都需要一定数量的内存和处理能力。您运行的进程越多,所需的内存和CPU周期就越多。在较旧的系统或配置较低的计算机上,如果您留意后台运行的进程,则可以充分利用系统的性能。

您可以使用ps命令获取正在运行的进程的列表。您通常需要给ps一些选项,以便在其输出中显示更多信息。我喜欢使用-e选项查看系统上运行的每个进程,使用-f选项获取有关每个进程的完整详细信息。这里举个例子:

Linux新手如何使用kill和killall来结束进程?


Linux新手如何使用kill和killall来结束进程?


Linux新手如何使用kill和killall来结束进程?

最后一个例子显示了最详细的信息。在每行上,UID(用户ID)显示拥有该进程的用户。PID(进程ID)表示每个进程的数字ID,PPID(父进程ID)表示产生该进程的进程的ID。在任何Linux系统中,进程从PID 1开始计数,这是内核启动后要运行的第一个进程。这里,systemd是第一个进程,它产生了kthreadd。然后kthreadd创建了其他进程,包括rcu_bh,rcu_sched以及其他一系列进程。

使用kill命令进行进程管理

该系统将自行处理大多数后台进程,因此您无需担心它们。您通常只需要运行应用程序,即可管理您创建的任何进程。尽管许多应用程序一次运行一个进程(例如您的音乐播放器,终端器或游戏),但其他应用程序可能会创建后台进程。当您退出应用程序时,其中一些可能会继续运行,以便下次启动应用程序时它们可以快速恢复工作。

当我运行Chromium时,进程管理是一个问题,Chromium是Google Chrome浏览器的开源基础。Chromium使我的电脑非常努力地工作,并触发了许多额外的进程。现在,我可以看到这些Chromium进程在打开五个选项卡的情况下运行:

Linux新手如何使用kill和killall来结束进程?

我省略了一些,但是有20个Chromium进程和一个grep进程正在搜索字符串“ chromium”。

Linux新手如何使用kill和killall来结束进程?

但是在我退出Chromium之后,这些进程仍然保持打开状态。如何关闭它们并回收这些进程占用的内存和CPU?

使用kill命令可以终止进程。在最简单的情况下,您告诉kill PID要结束的进程。例如,要结束每个进程,我需要对20个Chromium进程ID中的每一个执行kill命令。一种方法是使用命令行获取Chromium的PID,另一种方法针对该列表运行kill:

Linux新手如何使用kill和killall来结束进程?
#ps -ef | fgrep /usr/lib64/chromium-browser/chromium-browser | awk '{print $2}'    <--- 查看浏览器进程ID列表     #kill $( cat /tmp/pids)      <--- 对该进程ID列表运行kill命令(结束进程)

最后两行是关键。第一个命令行为Chromium浏览器生成一个进程ID列表。第二个命令行针对该进程ID列表运行kill命令。

介绍killall命令

一次停止所有进程的一种简单方法是使用killall命令。您可能会猜到该名称,killall会终止与该名称匹配的所有进程。这意味着我们可以使用此命令停止所有Chromium程序产生的进程。这很简单:

$ killall /usr/lib64/chromium-browser/chromium-browser

但是要小心killall。该命令可以终止任何与您提供的进程名进程。这就是为什么我想首先使用ps -ef检查我正在运行的进程,然后针对要停止的命令的确切路径运行killall。

您可能还想使用-i或--interactive选项让killall在停止每个进程之前提示您。

killall还支持使用-o或--older-than选项来选择比特定时间更早的进程的选项。例如,如果您发现一组无人值守运行了几天的无赖进程,这将很有帮助。或者,您可以选择比特定时间还年轻的流程,例如您最近启动的失控进程。使用-y或--younger-than选项选择这些过程。

进程管理可能是系统维护的重要组成部分。kill和killall的能力是保持系统正常运行的有用工具。您可能不需要杀死Linux桌面上的恶意进程,但是知道kill和killall可以在最终出现问题时为您提供帮助。

始终注意系统上正在运行哪些进程并知道如何在需要时进行管理始终是一个好的习惯。

以后我在给大家介绍更多kill命令的使用方法及选项参数。

来源:命令坞https://www.bash5.com/172.html

免责声明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

欢迎 发表评论: