如何从linux终端终止进程

杀死一个进程有时是摆脱它的唯一方法。尽管名字很刺耳,“杀死”一个进程只是意味着“强迫它退出”。...

杀死一个进程有时是摆脱它的唯一方法。尽管名字很刺耳,“杀死”一个进程只是意味着“强迫它退出”。

什么是过程(a process)?

运行诸如web浏览器之类的程序、与桌面环境相关联的后台进程以及Linux系统服务都是进程。

您可以将流程分为两组:

  • 前台进程是由用户启动或启动的进程。它们可以在终端窗口中,也可以是图形应用程序。
  • 后台进程是所有自动启动的进程,与用户没有任何交互。他们不期望用户的输入,也不向他们呈现结果或输出。后台进程类似于服务和守护进程。

如果前台流程是剧院工作人员和演员的前台,后台流程是后台“幕后”团队。

当进程行为不正常或出现故障时,它们可能占用太多的CPU时间,消耗RAM,或者进入一个紧密的计算循环而变得无响应。图形应用程序可以拒绝响应鼠标单击。终端应用程序可能永远不会返回命令提示符。

人道的回答

“杀死”一个进程只意味着“强迫进程退出”。如果进程拒绝响应,这可能是必要的。

Linux提供了kill、pkill和killall命令,允许您这样做。这些命令可以用于任何类型的进程,图形或命令行,前台或后台。

杀戮命令

要使用kill,必须知道要终止的进程的进程ID(PID)。ps命令可用于查找进程的PID。

要让ps搜索所有进程,请使用-e(all processs)选项。通过管道输出较少是可取的,将有相当一部分。键入ps,一个空格,-e,一个空格,|(管道字符),另一个空格,然后键入less。按Enter键执行命令。

ps -e | less

如何从linux终端终止进程

这将为您提供一个与下面的屏幕截图类似的流程列表。您可以使用/键以较少的速度向前搜索,也可以使用?钥匙。

如何从linux终端终止进程

要了解您感兴趣的进程,请通过grep将ps的输出通过管道传递,并指定进程的名称或部分名称。

ps -e | grep shutter

如何从linux终端终止进程

找到要终止的进程的PID后,将其作为参数传递给kill命令。要终止上一个命令标识的快门进程,请使用以下命令:

kill 2099

如何从linux终端终止进程

杀戮命令是一个沉默的刺客,它不会给你任何反馈,如果它是成功的。

pkill命令

pkill命令允许您按名称终止一个或多个进程。您不需要通过PID来标识进程。要使用pkill,请提供一个搜索词,pkill使用该搜索词检查正在运行的进程列表。匹配进程被终止。所以你必须肯定你已经把搜索词拼写正确了。

作为安全网,可以在使用pkill命令之前使用pgrep命令。pgrep命令还接受搜索项。它将列出与搜索项匹配的每个进程的PID。这是安全的,因为pgrep不会向进程发出任何终止信号,并且如果错误地键入搜索词,则不会错误地终止另一个进程。在将搜索词传递给pkill之前,可以确保您已经正确地考虑了它。pkill和pgrep对搜索词的处理方式相同。他们的处理方式如此相似,以至于他们共享同一个手册页。

假设有一个进程的名称中有“subq”。我们将使用ps-u dave | grep命令来窥视幕后。您可以看到“subq”将匹配该进程和单独的进程。这只是为了让你能看到整个过程的全名。

ps -u dave | grep subq

如何从linux终端终止进程

假设我们的用户没有这样做;他们只知道进程名包含子字符串“subq”。他们使用pgrep检查搜索词是否只有一个匹配项。然后他们将这个搜索词与pkill一起使用。

pgrep subq pkill subq

如何从linux终端终止进程

可以使用pkill一次杀死多个进程。在这里,用户运行pgrep来检查Chrome启动了多少进程。他们用pkill把他们都杀了。然后,他们与pgrep检查,他们都已被删除。

pgrep chrome pkill chrome pgrep chrome

如何从linux终端终止进程

如果有几个同名的进程正在运行,但是您不想全部终止它们,那么可以使用pgrep和-f(命令行)选项来标识哪个进程是哪个进程。一个简单的例子是两个ping进程。你想杀他们中的一个而不是另一个。您可以使用它们的命令行来区分它们。注意使用引号来包装命令行参数。

pgrep -f "ping 192.168.4.22" pkill -f "ping 192.168.4.22"

如何从linux终端终止进程

killall命令

警告:在Solaris和OpenIndiana操作系统中,killall命令将杀死属于您的所有进程。如果你是root或者你已经发布了sudo killall,你会重新启动你的电脑!在本文的研究过程中,OpenIndiana Hipster 2018.10的最新版本证实了这种行为。

killall命令的操作方式与pkill命令类似,但有一个特定的区别。您必须提供确切的进程名称,而不是向命令传递搜索项。

不能提供与进程名称的部分匹配;必须提供整个进程名称,如图所示:

killall shutt killall shutter

如何从linux终端终止进程

-y(小于)选项允许您终止运行时间少于指定时间段的进程。周期以数字表示,后跟以下单位之一:

  • 秒(秒)
  • m(分钟)
  • h(小时)
  • d(天)
  • w(周)
  • M(月,注,大写“M”)
  • y(年)

要杀死一个刚刚启动的名为ana的进程,并让所有旧的ana实例继续运行,如果您在两分钟内做出反应,可以对killall使用以下参数:

killall -y 2m ana

如何从linux终端终止进程

-o(早于)选项允许您终止已运行超过指定时间段的进程。此命令将终止已运行超过一天的所有ssh连接:

killall -o 1d sshd

如何从linux终端终止进程

不要太高兴

这些命令将允许您准确而安全地识别和终止错误进程。

一定要小心谨慎。首先,确保你要杀死的进程是你真正想要的。第二,仔细检查-小心并确保目标流程是您想要结束的流程。一旦您满意,继续终止该过程。

  • 发表于 2021-04-03 14:39
  • 阅读 ( 207 )
  • 分类:互联网

你可能感兴趣的文章

从命令行关闭linux计算机的5种方法

... 让我们依次查看这些命令,并检查如何以及何时使用这些命令。 ...

  • 发布于 2021-03-14 17:35
  • 阅读 ( 216 )

linux中杀死无响应程序的7种方法

...装在Ubuntu中的force kill工具,但是如果需要,您可以通过终端在其他发行版上安装它。调用xkill时,您可以关闭任何桌面进程。使用以下命令安装: ...

  • 发布于 2021-03-18 00:56
  • 阅读 ( 361 )

linux命令参考备忘单

...便的Linux命令备忘单。如果您想运行其中的几个,请查看如何在带屏幕的Linux终端上执行多任务。 ...

  • 发布于 2021-03-22 04:06
  • 阅读 ( 229 )

启动linux的9个基本命令

... 如何在linux下打开终端 ...

  • 发布于 2021-03-26 18:33
  • 阅读 ( 223 )

linux中的进程是什么?

... 流程如何开始 ...

  • 发布于 2021-03-27 02:21
  • 阅读 ( 234 )

如何在linux上杀死僵尸进程

...好的程序会让僵尸进程潜伏在Linux计算机中。了解僵尸是如何产生的,以及如何让它们最终安息。 进程状态如何在linux上工作 当然,Linux必须跟踪计算机上运行的所有应用程序和守护进程。其中一种方法是维护进程表。这是内...

  • 发布于 2021-04-01 07:47
  • 阅读 ( 233 )

如何使用linux的screen命令

...窗口推到后台(称为“分离”)。当你想看到你的进程是如何进行的,你可以把窗口拉到前台(“重新连接”)并再次使用它。这对于您不希望通过关闭终端窗口意外终止的长进程来说非常有用。 一旦运行了屏幕会话,就可以...

  • 发布于 2021-04-02 11:06
  • 阅读 ( 174 )

如何在linux上删除用户(并删除所有跟踪)

...死他的进程之前,我们会锁定密码来冻结帐户。 相关:如何使用ps命令监视Linux进程 锁定帐户 在终止进程之前,我们将锁定帐户,因为当我们终止进程时,它将注销用户。如果我们已经更改了他的密码,他就无法登录了。 加密...

  • 发布于 2021-04-02 15:16
  • 阅读 ( 174 )

如何在linux上使用free命令

...用。它的输出可能会让新手感到困惑,但我们将向您展示如何理解它。 自由命令 free命令在终端窗口中打印内存使用情况的快速摘要。它没有太多的选择和技巧,也不需要花太多的时间和精力去学习如何使用它。然而,要学会...

  • 发布于 2021-04-02 19:12
  • 阅读 ( 175 )

如何在linux上运行和控制后台进程

...umber:向进程发送SIGKILL,信号9,并突然终止它。 相关:如何从Linux终端终止进程

  • 发布于 2021-04-03 03:30
  • 阅读 ( 224 )
9920523
9920523

0 篇文章

相关推荐