很多时候,我们需要通过终端终止进程。 如果我们知道流程的全名(例如: 凯特),我们没有问题,很简单:
killall kate
它为我们解决了问题……但是,如果我们不知道流程的确切名称怎么办?
在这种情况下,我们必须列出所有 ps aux 如以下屏幕截图所示:
kill 3808
瞧,我们在那里终止了这一过程。
好吧...在一行中,我们可以搜索过程(而不必知道全名),找出其PID,然后将其杀死:
ps ax | grep kat | grep -v grep | awk '{print $2}' | xargs kill
如你看到的:
- 我们列出了流程(ps aux)
- 我们不知道的完整或确切名称 凯特 (嘿,可能是凯特编辑或类似的人),因此我们仅按 吉 (格雷普·凯)
- 但是,如果仅使用此过滤器,我们将获得与kat相关的两个过程,一个是kate过程,另一个是我们激活的用于过滤的过程,我为您留下了屏幕截图,以便您可以完全理解:(请注意,有2行,即2个进程)
- 为了避免之前的解释,我们制作了另一个过滤器(grep -v grep)。 我们将做相反的事情...如果我们使用grep进行过滤,则只会显示与过滤器匹配的内容, grep -v 我们指示您不要显示匹配项,而是显示不匹配的项。 我向您展示了目前效果如何的屏幕截图:(请注意,现在仅出现kate的进程)
- 好了,我们已经隔离了要终止的进程,现在只需要提取其PID为第二个数字,即, 4062。 PID位于第二列(第一列包含UID为1的用户),因此使用awk可以说,它仅显示该行在第二列中找到的内容(awk'{print $ 2}')。 这只会向我们显示进程号,即只有PID将出现在终端中。
- 但是我们不想显示PID,我们想要的是用该PID终止进程……所以我们将这样做,我们将到目前为止的内容传递给命令 杀 准备好了xargs杀死)
- xargs是什么意思? ...很简单,在这种情况下,我们无法传递PID来仅使用管道杀死( | ),这根本不够,所以xargs(允许传递值或数据然后执行或杀死它们)才可以使我们完成工作。
到此为止😀
是的...我知道这似乎有点复杂,这就是为什么我尝试尽我所能解释的原因。
我知道可能很少有人需要这个命令,但本文的目的与 DesdeLinux,每天教他们一些新东西,总是试图让他们摆脱对 Linux 的恐惧……而且,就我个人而言,我也希望他们能够毫无恐惧地学习使用终端 😉
无论如何...我希望您发现它很有趣,我一直在学习如何使用 AWK 真的很棒。
问候
的确,awk对我非常有用,我认为强烈建议需要操纵结构化文本文件的任何人知道如何使用它。
我只是有一个问题(与输入无关:D),您如何(以及与哪个程序一起)进行了模糊处理,可以突出显示屏幕截图的一部分?
问候。
测验 如果这是从格式 它有效,如果没有 有人告诉我怎么做
非常感谢。
好吧,是的。我知道如何与awk HAHAHAHA一起使用时,我已经重新发现了Linux。
关于效果等等,仅此而已……
我选择要突出显示的部分,用[Ctrl] + [X]剪切并将其粘贴为新层,然后选择较低的层(这是我要不透明的那一层)并转到Filters-»高斯语(或任何你写的呵呵)和瞧。
现在,要使其具有深色效果,我只需创建一个新层(白色背景)并将其放置在我已经拥有的这两个层之间,将其设置为黑色,并在透明度栏中(右上角)将其移至我达到了预期的效果。
问候和感谢您的评论🙂
大!!
如果该过程来自可见的程序,那就比键入更舒服 杀人 在控制台上,单击要杀死的程序,然后瞧。
点击该程序杀死
呵呵...那是假设您有GUI呵呵。
没错,这就是为什么我说“如果该过程来自可见程序”。
单击带有“ X”的按钮会更容易。 GNOME Shell仍然具有该按钮吗? :-D
如果程序被冻结(这是您需要终止其进程的主要原因),那么逻辑地是,无论您按多少该按钮都不会响应。
我认为GNOME Shell会很快将其删除,因此您可以像在Windows 8中一样将它们拖动到屏幕底部,从而看到关闭窗口的触觉奇迹。不用说,在宽屏显示器上,这是一个了不起的练习。
我现在知道了。 在这种情况下,我更喜欢Control + Alt + Esc(在KDE中)。
我等不及要看新的GNOME Shell预览,它们确实是一种享受。
这样做相同,但是写得更少。
在这种情况下,我以leafpad为例,这就是为什么leaf出现在grep中的原因
ps -e | grep leaf | awk '{print $1}' | xargs kill
问候
! 我的儿子,尝试运行“ pgrep kat”,这是“ pgrep”的意思。
并执行“ man pgrep”。 还有“ man pidof”,有时“ pidof”可以帮助您。
并执行«ps aux | grep [k]位于“,这将不会返回”您为评论而激活的过滤过程,从而节省了您的工作。
您好!
哦,还有“ pkill”,它可以满足您的需求。 例如:“ pkill kat”。
哦,有趣……我不知道pgrep🙂
谢谢小费tip
感谢您和您的文章。
顺便说一句 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”,他们在那里的解释比我更好。
您好!
谢谢你的链接😀
这就是它存在的伟大之处。 DesdeLinux...无论您是用户、编辑还是管理员,我们都总是在学习新东西 🙂
问候和再次感谢朋友。
非常感谢您的宝贵时间和奉献精神,值得每天访问和阅读此站点几次。
再次感谢。
KZKG ^ Gaara几乎总是一样的,当涉及到这些技巧时,会有另一个人用一个简单的命令来做同样的事情。 但是我祝贺他,他一直在不断地贡献自己的力量。
嘿,是的。。。我知道怎么做X osa,我来这里分享方法,但是然后他们分享了一种更简单的方法来实现相同的目标哈哈哈,但是有了这个,我们都赢了,对吧? 😀
是的0 /
哈哈哈,你总是走最复杂的路。 😀
哈哈哈是的,我一直想:如果我知道如何以困难的方式做到这一点,那么我将知道如何以简单的方式学习做到这一点而没有问题。»而且…反之亦然。
问题是如果我们有两个名称相似的进程。
例如,一个kate进程,另一个... mmm进程,比如说kater xD
有了这样的命令,我们将杀死他们两个,对吗?
是的,那会发生🙂
TT可怜的凯特。 我在KDE中使用xkill,它可以通过“ ctrl + alt + esc”快速启动,也可以通过“ ctrl + Esc”打开“系统活动”并以图形方式进行启动。 现在,尽管我有一个带有稳定debian的家庭服务器,但它根本无法挂起,但是必须通过终端学习此过程。
大! 现在,我正在学习操作系统课程,并且需要使用终端执行任务,您的教程对您有很大的帮助! 谢谢
很好地解释了,我刚刚遇到的博客很棒,我将其指向收藏夹。 谢谢。
好吧,虽然有些时候无法杀死他们,但这很好。
杀-9
pkill -9“进程名称”
在上一条评论中,我放入了“»”,但它并未出现在xD中
晚安,我有时间阅读您的供稿,今天我决定尝试使用此命令。 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«?» 对我有用,非常感谢,我非常喜欢您的博客,问候
感谢compa,您无法想象使用此命令为我解决的问题数量。
您好!
谢谢 !!!!
优秀的职位。 只是我要找的东西,却不知道该怎么做,而且解释很好。
问候。