The top program provides a dynamic real-time view of a running
system. It can display system summary information as well as a
list of processes or threads currently being managed by the Linux
kernel. The types of system summary information shown and the
types, order and size of information displayed for processes are
all user configurable and that configuration can be made persis‐
tent across restarts.
找出进程 id(给定它的名称)的命令是
pidof
. 但是,由于您的意图是终止该进程,因此有比使用pidof
首先查找其 pid 更好/更简单的方法:假设您要终止的进程由其名称唯一标识(或者您要终止具有该名称的所有进程),您不需要知道它的 pid。你可以简单地做
killall processname
。如果有多个同名进程,但您只想杀死其中一个,则使用
pidof
不会对您有太大帮助,因为它会为您提供 pid,但不会为您提供任何信息来确定哪个进程pids 属于您实际要杀死的进程。在这种情况下,您可以执行
ps aux | grep processname
这将显示具有给定名称的所有进程以及它们正在运行的控制台(如果适用)以及它们被调用的参数,这有望让您识别您正在寻找的进程.如果进程打开了任何X-windows,你也可以使用
xkill
kill(调用xkill
然后点击窗口)。您应该看一下
pgrep
andpkill
,这是在大多数 Linux 和 UNIX 系统上都可以找到的两个非常方便且功能强大的实用程序。您可以
ps -A
在终端中运行以显示当前正在运行的所有进程(及其进程 ID)。我也有类似的问题。我用过
pstree -p
;这向我展示了当前正在运行的进程,包括进程 ID。pidof
. 问题man pidof
详情。我最喜欢的是
pstree -p | grep $(program_name)
。这实际上 greps 进程,突出显示它并在括号中显示 pid。我的下一个最爱(尤其是在编程和需要进程中的所有 pid 时)是
pgrep -law ""
. 这实际上为您提供了每个运行的 pid,然后是应用程序(使用绝对路径)。这可以简化为
pgrep -lw ""
for pid 后跟程序名称,甚至只pgrep -l
针对所有 pid当然,您可以搜索特定程序(或程序的一部分)的名称。(即
pgrep -lw firef
可能会显示类似“4567 firefox”的内容)。这个来自@Ben 的重复问题的答案解决了我的问题:
考虑
top
在终端中使用该命令。通过人顶