为了搜索进程,您可以ps
使用grep
。
例如搜索 Firefox
ps aux | grep firefox
如何不使用就能得到相同的答案grep
?
答案1
这pgrep
命令,以及它的兄弟命令pkill
,正是为了这个目的而存在的:
pgrep firefox
将列出所有命令匹配的进程firefox
pgrep -f firefox
将列出所有命令行匹配的进程firefox
pgrep -x firefox
将列出命令完全匹配的所有进程firefox
- ... 等等。
并且自然而然地pgrep
会将自己排除在比赛之外,因此不需要任何grep
相关的仪式。ps | grep
另一组用于此目的的工具是pidof
和killall
命令。它们不如和pgrep
灵活pkill
。
pidof firefox
将列出其命令为firefox
答案2
ps -fC process-name
例子:
ps -fC firefox
从man ps
-C cmdlist Select by command name.
This selects the processes whose executable name is
given in cmdlist.
-f Do full-format listing. This option can be combined
with many other UNIX-style options to add additional
columns. It also causes the command arguments to be
printed. When used with -L, the NLWP (number of
threads) and LWP (thread ID) columns will be added. See
the c option, the format keyword args, and the format
keyword comm.
答案3
很酷的技巧
$ps -ejH
您将获得所有带有名称的进程
exmple:
1747 568 568 ? 00:00:00 colord
1833 1832 1832 ? 00:00:00 gnome-keyring-d
2263 568 568 ? 00:00:00 udisksd
2311 2311 2311 ? 00:00:00 cupsd
2315 2315 2311 ? 00:00:00 dbus
重定向或将输出复制到文件然后打开nano
,按Ctrl+W
即可搜索所需的名称。
答案4
您还可以使用htop
,然后按 F4 以使用匹配的用户定义字符串来过滤结果。您还可以通过按 F3 使用自定义搜索功能。