1

快速 bash/终端问题 -

我在命令行上工作了很多,但从来没有真正了解如何使用它管理正在运行的进程 - 我知道“ps”,但它总是给我一个非常长且深奥的垃圾列表,包括像30 位谷歌浏览器工作人员,我总是最终回到活动监视器,以清楚地了解实际发生的情况。

任何人都可以就如何从命令行管理正在运行的进程提供一些建议吗?有没有办法得到一份你正在运行的清单?我经常在我知道的进程名称上使用“killall”作为摆脱冻结的快速方法 - 我可以让这些名称通过终端显示,而不是 ps 默认显示的奇怪的长名称和数字吗?我可以搜索特定进程或进程的快速正则表达式,例如“*ome”吗?

如果有人对这三个问题有答案,那对很多人来说将是非常有帮助的,我敢肯定:)

谢谢!!

4

3 回答 3

1
ps -o command

将为您提供仅包含进程名称的列表(更准确地说,是调用该进程的命令)。使用 grep 进行搜索,如下所示:

ps -o command | grep ".*ome"
于 2011-09-12T23:25:57.163 回答
1

是的 grep 很好。我不知道你想实现什么,但你知道 top 命令吗?Il 为您提供了正在发生的事情的动态视图。在 Linux 上,您有很多命令可以帮助您在脚本中获得所需的内容,而管道命令是我们在学习 IT 时学到的基础知识。您还可以查看工作人员,我建议您阅读一些有关流程管理基础的文章。:) 祝你好运。

于 2011-09-12T23:43:15.823 回答
0

那里可能有脚本..

但是例如,如果您看到很多您不感兴趣的 chrome,那么像以下这样简单的事情会有所帮助:

ps aux | grep -v chrome

其他变体可以帮助每个图像只显示一次......所以你得到一个 chrome,一个 vim 等。(例如,谷歌使用 perl 或 python 或 sed 显示唯一行)

您可以使用 ps 指定一个用户名...这样您就可以过滤掉系统进程,或者如果有多个用户登录到机器等。

Ps 在命令行参数方面非常通用.. 与 perl 和 sed 等其他工具相结合,稍微挖掘有助于找到很多不错的调整和标志。

于 2011-09-12T23:20:34.037 回答