查找进程id的终端命令是什么

我想使用命令行退出进程,但我无法回想起查找进程ID的命令。 有谁知道吗?

查找进程id(给定名称)的命令是pidof 。 但是,由于你的意图是杀死进程,所以有比使用pidof更好/更简单的方法来找到它的pid:

假设要杀死的进程由其名称唯一标识(或者您希望终止具有该名称的所有进程),则无需知道其pid。 你可以简单地做killall processname

如果有多个进程具有相同的名称,但您只想杀死其中一个,使用pidof对您没有多大帮助,因为它会为您提供pids,但它不会给您任何信息来确定哪个pids属于你真正想要杀死的过程。

在这种情况下,你可以做ps aux | grep processname ps aux | grep processname将显示具有给定名称的所有进程以及它们正在运行的控制台(如果适用)以及它们被调用的参数,这有望使您能够识别您正在寻找的进程。

如果进程打开了任何X-windows,你也可以使用xkill来杀死(调用xkill然后点击窗口)。

您应该看看pgreppkill ,它们是大多数Linux和UNIX系统上的两个非常方便且function强大的实用程序。

 $ apropos pgrep pgrep (1) - look up or signal processes based on name and other attributes 

您可以在终端中运行ps -A以显示当前正在运行的所有进程(及其进程ID)。

我也有类似的问题。 我用了pstree -p ; 这向我展示了当前正在运行的流程,包括流程ID。

pidof 。 发布man pidof了解详情。

我最喜欢的是pstree -p | grep $(program_name) pstree -p | grep $(program_name) 。 这实际上会影响过程,突出显示它并在括号中显示pid。

我的下一个最爱(特别是当编程并需要来自进程的所有pids时)是pgrep -law "" 。 这实际上为您提供了每个pid运行后跟应用程序(使用绝对路径)。

这可以减少为pgrep -lw ""用于pid,后跟程序名称,甚至只是pgrep -l用于所有pid

当然,您可以搜索特定程序(或程序的一部分)名称。 (即pgrep -lw firef可能会显示类似“4567 firefox”的内容)。

来自@Ben的一个重复问题的答案解决了我的问题:

考虑在终端中使用top命令。

  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. 

通过男人顶部