📅  最后修改于: 2023-12-03 15:35:26.681000             🧑  作者: Mango
在 Ubuntu 中,有时候我们可能需要获取某个程序的进程 PID,以便进行进一步的操作,比如终止进程或者查看进程的详细信息。本文将介绍如何使用 Shell Bash 在 Ubuntu 中获取进程 PID。
ps 命令可以用来查看进程列表。默认情况下,它只显示当前用户的进程。要显示系统中所有进程,可以使用以下命令:
ps aux
其中,a 表示显示所有进程,u 表示以详细格式显示进程信息,x 表示显示没有控制终端的进程。
该命令会输出类似以下格式的信息:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 170016 4960 ? Ss 11月15 0:10 /sbin/init splash
root 2 0.0 0.0 0 0 ? S 11月15 0:00 [kthreadd]
root 4 0.0 0.0 0 0 ? I< 11月15 0:00 [kworker/0:0H]
...
其中,PID 表示进程 ID。我们可以根据命令的输出来搜索我们想要获取的进程 PID。
pgrep 命令可以根据进程名查找进程 PID。例如,以下命令可以查找名为 nginx 的进程的 PID:
pgrep nginx
如果有多个同名进程,会返回多个 PID。可以使用以下命令列出返回的所有 PID:
pgrep -d, nginx
其中,-d, 表示使用逗号分隔 PID。
pidof 命令与 pgrep 类似,也可以根据进程名查找进程 PID。例如,以下命令可以查找名为 apache2 的进程的 PID:
pidof apache2
如果有多个同名进程,会返回多个 PID。可以使用以下命令列出返回的所有 PID:
echo $(pidof apache2)
其中,echo 命令可以将多个 PID 以空格分隔的方式输出。
本文介绍了如何使用 Shell Bash 在 Ubuntu 中获取进程 PID。ps、pgrep 和 pidof 命令都是常用的获取进程 PID 的工具,可以根据实际需求选择使用。