Answers:
找出进程ID(给定名称)的命令是pidof
。但是,由于您的意图是终止进程,因此有比首先使用pidof
pid 更好/更简便的方法:
假设您要终止的进程由其名称唯一标识(或者您要终止具有该名称的所有进程),则无需知道其pid。你可以简单地做killall processname
。
如果有多个具有相同名称的进程,但是您只想杀死其中一个进程,则使用pidof
不会有太大帮助,因为它会给您pids,但不会给您任何信息来确定哪个进程。 pids属于您实际上想要杀死的进程。
在这种情况下,您可以执行以下操作:ps aux | grep processname
显示所有具有给定名称的进程以及它们在其上运行的控制台(如果适用)以及调用它们的参数,这有望使您能够识别正在寻找的进程。
如果该进程打开了任何X窗口,则还可以使用xkill
kill(调用xkill
,然后单击该窗口)。
我最喜欢的是pstree -p | grep $(program_name)
。实际上,这可以抓住该过程,将其突出显示并在括号中显示pid。
我的下一个最爱(尤其是在编程和需要过程中的所有PID时)pgrep -law ""
。从字面上看,您会在运行的每个pid之后跟随应用程序(具有绝对路径)。
可以将其减少pgrep -lw ""
为pid,后跟程序名称,甚至仅对pgrep -l
所有pid
当然,您可以搜索特定程序(或程序的一部分)的名称。(即pgrep -lw firef
可能会显示类似“ 4567 firefox”的内容)。
pstree -psH $(pgrep prgram_name)
是第一种情况比较好?
来自@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.
通过男人上衣
grep
搜索特定过程名称的管道:ps -A | grep 'my name'