CCuTV中视快报网,中视快报上海,中视快报地方,中视快报公益,中视快报戏剧

您好,欢迎访问CCuTV中视快报网上海,我们将竭诚为您服务!

kill指令怎么用(分享linuxkill命令详解)

2023-03-05 13:49来源:未知 频道:知识百科 阅读:
《中视快报网》视点快报客户端官方帐号网站!
 追踪网络热点,关注民生动态,传播中华文化,倡导网络新时代!
http://www.中视快报网.cn/中视快报网中文网址上线! 
中视快报网.东视融媒【中视快报号】:

 

了解如何使用ps、kill和killall命令来终止进程并回收系统资源。

在Linux中,每个程序和守护进程都是一个“进程”。大多数进程代表一个正在运行的程序。其他程序可以产生其他进程,例如,它将侦听某些事件,然后对它们做出响应。每个进程都需要一定的内存和处理能力。运行的进程越多,需要的内存和CPU周期就越多。在老式电脑(比如我用了7年的笔记本电脑)或者轻量级电脑(比如覆盆子馅饼)上,如果你关注后台运行的进程,就可以充分利用你的系统。

您可以使用ps命令来检查正在运行的进程。你通常使用ps命令的参数来显示更多的输出信息。我喜欢使用-e参数来查看每个正在运行的进程,使用-f参数来获取每个进程的所有细节。以下是一些例子:

$ ps PID TTY时间CMD 88000 pts/0 00:00:00 bash 88052 pts/0 00:00:00 PS 88053 pts/0 003:00:00 head $ PS-e | head PID TTY时间CMD 1?00:00:50 systemd 2?00:00:00 kthreadd 3?00:00:00 rcu_gp 4?00:00:00 rcu_par_gp 6?00:00:02 kworker/0:0h-events _ high pri 9?00:00:00 mm_percpu_wq 10?00:00:01 ksoftirqd/0 11?00:00:12 rcu_sched 12?00:00:00 migration/0 $ PS-ef | head uid PID PPID C STIME TTY时间CMDroot 1 0 0 13:51?00:00:50/usr/lib/systemd/systemd-switched-root-system-deserialize 36 root 2 0 13:51?00:00:00[kthread]root 3 2 0 13:51?00:00:00[rcu _ gp]root 4 2 0 13:51?00:00:00[rcu _ par _ gp]root 6 2 0 13:51?00:00:02[kworker/0:0h-k blockd]root 9 2 0 13:51?00:00:00[mm _ PERC pu _ wq]root 10 2 0 13:51?00:00:01[ksoftirqd/0]root 11 2 0 13:51?00:00:12[rcu _ sched]root 12 2 0 13:51?00:00:00 [migration/0]最后一个例子显示的细节最多。在每一行中,UID(用户ID)显示了进程的所有者。PID(进程ID)代表每个进程的数字ID,而PPID(父进程ID)代表其父进程的数字ID。在任何Unix系统中,进程都是从1开始编号的,1是内核启动后运行的第一个进程。这里systemd是第一个进程,它诞生了KTHREAD,KTHREAD还创建了其他进程,包括rcu_gp、rcu_par_gp等进程。

使用 kill 命令来管理进程

系统会处理大部分后台进程,所以你不需要担心这些进程。您只需要关注创建您正在运行的应用程序的过程。虽然很多应用一次只运行一个进程(比如音乐播放器、终端模拟器或者游戏等。),其他应用程序可能会创建后台进程。在您退出后,这些应用程序中的一些可能仍在后台运行,以便您下次使用它们时可以快速启动。

当我运行Chromium(一个基于Google Chrome的开源项目)时,进程管理就成了一个问题。色

ium 在我的笔记本电脑上运行非常吃力,并产生了许多额外的进程。现在我仅打开五个选项卡,就能看到这些 Chromium 进程:

$ ps -ef | fgrep chromiumjhall      66221   [...]  /usr/lib64/chromium-browser/chromium-browser [...]jhall      66230   [...]  /usr/lib64/chromium-browser/chromium-browser [...][...]jhall      66861   [...]  /usr/lib64/chromium-browser/chromium-browser [...]jhall      67329   65132  0 15:45 pts/0    00:00:00 grep -F chromium

我已经省略一些行,其中有 20 个 Chromium 进程和一个正在搜索 “chromium” 字符的 grep进程。

$ ps -ef | fgrep chromium | wc -l21

但是在我退出 Chromium 之后,这些进程仍旧运行。如何关闭它们并回收这些进程占用的内存和 CPU 呢?

kill命令能让你终止一个进程。在最简单的情况下,你告诉kill命令终止你想终止的进程的 PID。例如,要终止这些进程,我需要对 20 个 Chromium 进程 ID 都执行kill命令。一种方法是使用命令行获取 Chromium 的 PID,而另一种方法针对该列表运行kill

$ ps -ef | fgrep /usr/lib64/chromium-browser/chromium-browser | awk '{print $2}'662216623066239662576626266283662846628566324663376636066370663866640266503665396659566734668486686169702$ ps -ef | fgrep /usr/lib64/chromium-browser/chromium-browser | awk '{print $2}' > /tmp/pids$ kill $(cat /tmp/pids)

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

 

介绍 killall 命令

一次终止多个进程有个更简单方法,使用 killall命令。你或许可以根据名称猜测出,killall会终止所有与该名字匹配的进程。这意味着我们可以使用此命令来停止所有流氓 Chromium 进程。这很简单:

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

但是要小心使用 killall。该命令能够终止与你所给出名称相匹配的所有进程。这就是为什么我喜欢先使用ps -ef命令来检查我正在运行的进程,然后针对要停止的命令的准确路径运行killall

你也可以使用 -i--interactive参数,来让killkill在停止每个进程之前提示你。

killall还支持使用-o--older-than参数来查找比特定时间更早的进程。例如,如果你发现了一组已经运行了好几天的恶意进程,这将会很有帮助。又或是,你可以查找比特定时间更晚的进程,例如你最近启动的失控进程。使用-y--young-than参数来查找这些进程。

 

其他管理进程的方式

进程管理是系统维护重要的一部分。在我作为 Unix 和 Linux 系统管理员的早期职业生涯中,杀死非法作业的能力是保持系统正常运行的关键。在如今,你可能不需要亲手在 Linux 上的终止流氓进程,但是知道 killkillall能够在最终出现问题时为你提供帮助。

你也能寻找其他方式来管理进程。在我这个案例中,我并不需要在我退出浏览器后,使用 killkillall来终止后台 Chromium 进程。在 Chromium 中有个简单设置就可以进行控制:

不过,始终关注系统上正在运行哪些进程,并且在需要的时候进行干预是一个明智之举。

郑重声明:本文仅代表作者个人观点,与中视快报网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容,中视快报网号系信息发布平台,中视快报网仅提供信息存储空间服务。如有侵权请出示权属凭证联系管理员(975981118@qq.com)删除!
|中视快报网电话|中视快报网戏剧|中视快报网电子版官网|中视快报网电子版阅读|中视快报网投诉|中视快报网APP|中视快报网是国家级媒体吗|中视快报网是央视的吗|中视快报网专栏|中视快报网上海书评|投诉中视快报网|中视快报网有哪些内容|中视快报网在哪里看|中视快报网地址|中视快报网中文网址新版上线|中视快报网新浪博客|中视快报网新闻频道|中视快报网李克诚|中视快报网官网|中视快报网记者|

上一篇:十字花科蔬菜根肿病能否根治,十字花科蔬菜根肿病的发生与防治

下一篇:自制花土的简单方法

相关推荐

返回顶部