用一个命令杀死一个进程

很多时候,我们需要通过终端终止进程。 如果我们知道流程的全名(例如: 凯特),我们没有问题,很简单:

killall kate

它为我们解决了问题……但是,如果我们不知道流程的确切名称怎么办?

在这种情况下,我们必须列出所有 ps aux 如以下屏幕截图所示:


然后寻找过程的PID,在这种情况下,我们寻找 凯特:


届时请执行以下操作:

kill 3808

瞧,我们在那里终止了这一过程。

好吧...在一行中,我们可以搜索过程(而不必知道全名),找出其PID,然后将其杀死:
ps ax | grep kat | grep -v grep | awk '{print $2}' | xargs kill

如你看到的:

  1. 我们列出了流程(ps aux)
  2. 我们不知道的完整或确切名称 凯特 (嘿,可能是凯特编辑或类似的人),因此我们仅按 (格雷普·凯)
  3. 但是,如果仅使用此过滤器,我们将获得与kat相关的两个过程,一个是kate过程,另一个是我们激活的用于过滤的过程,我为您留下了屏幕截图,以便您可以完全理解:(请注意,有2行,即2个进程)

  4. 为了避免之前的解释,我们制作了另一个过滤器(grep -v grep)。 我们将做相反的事情...如果我们使用grep进行过滤,则只会显示与过滤器匹配的内容, grep -v 我们指示您不要显示匹配项,而是显示不匹配的项。 我向您展示了目前效果如何的屏幕截图:(请注意,现在仅出现kate的进程)

  5. 好了,我们已经隔离了要终止的进程,现在只需要提取其PID为第二个数字,即, 4062。 PID位于第二列(第一列包含UID为1的用户),因此使用awk可以说,它仅显示该行在第二列中找到的内容(awk'{print $ 2}')。 这只会向我们显示进程号,即只有PID将出现在终端中。
  6. 但是我们不想显示PID,我们想要的是用该PID终止进程……所以我们将这样做,我们将到目前为止的内容传递给命令 准备好了xargs杀死)
  7. xargs是什么意思? ...很简单,在这种情况下,我们无法传递PID来仅使用管道杀死( | ),这根本不够,所以xargs(允许传递值或数据然后执行或杀死它们)才可以使我们完成工作。

到此为止😀

是的...我知道这似乎有点复杂,这就是为什么我尝试尽我所能解释的原因。

我知道可能很少有人需要这个命令,但本文的目的与 DesdeLinux,每天教他们一些新东西,总是试图让他们摆脱对 Linux 的恐惧……而且,就我个人而言,我也希望他们能够毫无恐惧地学习使用终端 😉

无论如何...我希望您发现它很有趣,我一直在学习如何使用 AWK 真的很棒。

问候


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   依齐托克

    的确,awk对我非常有用,我认为强烈建议需要操纵结构化文本文件的任何人知道如何使用它。

    我只是有一个问题(与输入无关:D),您如何(以及与哪个程序一起)进行了模糊处理,可以突出显示屏幕截图的一部分?

    问候。

    1.    依齐托克

      测验 如果这是从格式 它有效,如果没有 有人告诉我怎么做

      非常感谢。

    2.    KZKG ^ Gaara

      好吧,是的。我知道如何与awk HAHAHAHA一起使用时,我已经重新发现了Linux。
      关于效果等等,仅此而已……

      我选择要突出显示的部分,用[Ctrl] + [X]剪切并将其粘贴为新层,然后选择较低的层(这是我要不透明的那一层)并转到Filters-»高斯语(或任何你写的呵呵)和瞧。
      现在,要使其具有深色效果,我只需创建一个新层(白色背景)并将其放置在我已经拥有的这两个层之间,将其设置为黑色,并在透明度栏中(右上角)将其移至我达到了预期的效果。

      问候和感谢您的评论🙂

      1.    罗伯托·桑塔纳

        大!!

  2.   曼努埃尔·德拉·富恩特

    如果该过程来自可见的程序,那就比键入更舒服 杀人 在控制台上,单击要杀死的程序,然后瞧。

    1.    KZKG ^ Gaara

      点击该程序杀死
      呵呵...那是假设您有GUI呵呵。

      1.    曼努埃尔·德拉·富恩特

        没错,这就是为什么我说“如果该过程来自可见程序”。

        1.    温杜西科

          单击带有“ X”的按钮会更容易。 GNOME Shell仍然具有该按钮吗? :-D

          1.    曼努埃尔·德拉·富恩特

            如果程序被冻结(这是您需要终止其进程的主要原因),那么逻辑地是,无论您按多少该按钮都不会响应。

            我认为GNOME Shell会很快将其删除,因此您可以像在Windows 8中一样将它们拖动到屏幕底部,从而看到关闭窗口的触觉奇迹。不用说,在宽屏显示器上,这是一个了不起的练习。

          2.    温杜西科

            我现在知道了。 在这种情况下,我更喜欢Control + Alt + Esc(在KDE中)。

            我等不及要看新的GNOME Shell预览,它们​​确实是一种享受。

  3.   正确

    这样做相同,但是写得更少。
    在这种情况下,我以leafpad为例,这就是为什么leaf出现在grep中的原因
    ps -e | grep leaf | awk '{print $1}' | xargs kill

    问候

  4.   SYS

    ! 我的儿子,尝试运行“ pgrep kat”,这是“ pgrep”的意思。

    并执行“ man pgrep”。 还有“ man pidof”,有时“ pidof”可以帮助您。

    并执行«ps aux | grep [k]位于“,这将不会返回”您为评论而激活的过滤过程,从而节省了您的工作。

    您好!

    1.    SYS

      哦,还有“ pkill”,它可以满足您的需求。 例如:“ pkill kat”。

    2.    KZKG ^ Gaara

      哦,有趣……我不知道pgrep🙂
      谢谢小费tip

      1.    SYS

        感谢您和您的文章。

        顺便说一句 https://flossblog.wordpress.com/2009/11/11/truco-del-dia-excluir-al-proceso-grep-en-la-salida-de-ps-aux/ 评论使用诸如«ps aux |命令之类的命令的技术grep [n] program_name”,他们在那里的解释比我更好。

        您好!

        1.    KZKG ^ Gaara

          谢谢你的链接😀
          这就是它存在的伟大之处。 DesdeLinux...无论您是用户、编辑还是管理员,我们都总是在学习新东西 🙂

          问候和再次感谢朋友。

  5.   科斯特

    非常感谢您的宝贵时间和奉献精神,值得每天访问和阅读此站点几次。

    再次感谢。

  6.   Linux先生。

    KZKG ^ Gaara几乎总是一样的,当涉及到这些技巧时,会有另一个人用一个简单的命令来做同样的事情。 但是我祝贺他,他一直在不断地贡献自己的力量。

    1.    KZKG ^ Gaara

      嘿,是的。。。我知道怎么做X osa,我来这里分享方法,但是然后他们分享了一种更简单的方法来实现相同的目标哈哈哈,但是有了这个,我们都赢了,对吧? 😀

      1.    特鲁科22

        是的0 /

      2.    曼努埃尔·德拉·富恩特

        哈哈哈,你总是走最复杂的路。 😀

        1.    KZKG ^ Gaara

          哈哈哈是的,我一直想:如果我知道如何以困难的方式做到这一点,那么我将知道如何以简单的方式学习做到这一点而没有问题。»而且…反之亦然。

  7.   奥斯卡

    问题是如果我们有两个名称相似的进程。
    例如,一个kate进程,另一个... mmm进程,比如说kater xD
    有了这样的命令,我们将杀死他们两个,对吗?

    1.    KZKG ^ Gaara

      是的,那会发生🙂

  8.   特鲁科22

    TT可怜的凯特。 我在KDE中使用xkill,它可以通过“ ctrl + alt + esc”快速启动,也可以通过“ ctrl + Esc”打开“系统活动”并以图形方式进行启动。 现在,尽管我有一个带有稳定debian的家庭服务器,但它根本无法挂起,但是必须通过终端学习此过程。

  9.   浴帘

    大! 现在,我正在学习操作系统课程,并且需要使用终端执行任务,您的教程对您有很大的帮助! 谢谢

  10.   巴勃罗

    很好地解释了,我刚刚遇到的博客很棒,我将其指向收藏夹。 谢谢。

  11.   不久

    好吧,虽然有些时候无法杀死他们,但这很好。

  12.   co

    杀-9

    1.    co

      pkill -9“进程名称”
      在上一条评论中,我放入了“»”,但它并未出现在xD中

  13.   最佳

    晚安,我有时间阅读您的供稿,今天我决定尝试使用此命令。 grep chrome | grep -v grep | awk'{print $ 1}'| xargs kill,我得到以下kill错误:找不到进程“?” 由于我在bash上的经验很少,因此我决定进行一些修改,最终我留下了ps -A | grep c | grep -v grep | awk'{print $ 1}'| xargs会终止,因为ps -A用于以汇总方式显示所有进程,第二个异常是它使我抛出了TTY«?» 对我有用,非常感谢,我非常喜欢您的博客,问候

  14.   Michael (中国)

    感谢compa,您无法想象使用此命令为我解决的问题数量。

    您好!

  15.   Emalug

    谢谢 !!!!

  16.   阿瑟

    优秀的职位。 只是我要找的东西,却不知道该怎么做,而且解释很好。

    问候。