|
沙发
楼主 |
发表于 2017-3-13 18:39:25
|
只看该作者
本帖最后由 linux 于 2017-3-13 18:40 编辑
通过 ps 指令获得制定进程名称的 pid 步骤如下:
1. 打印出全部进程的, 进程名称以及pid
ps -ef大概会得到类似如下结果:
UID PID PPID C STIME TTY TIME CM
2. 过滤出指定的进程名称
ps -ef | grep mysqld大概会得到类似如下结果:
mysql 841 1 0 09:01 ? 00:00:02 /usr/sbin/mysqldxwsoul 4532 4205 0 11:16 pts/0 00:00:00 grep --color=auto mysqld3. 这样就会多出一行我们刚刚的 grep mysqld 的结果, 因此我们要忽略该指令
ps -ef | grep mysqld | grep -v 'grep '大概会得到类似如下的结果:
mysql 841 1 0 09:01 ? 00:00:02 /usr/sbin/mysqld4. 使用 awk 打印出pid号
ps -ef | grep mysqld | grep -v 'grep ' | awk '{print $2}'大概会得到类似如下的结果:
841同样的如果像获得进程的父进程号(ppid), 可按如下操作:
ps -ef | grep mysqld | grep -v 'grep ' | awk '{print $3}'
ps -ef | grep firefox | grep -v 'grep ' | awk '{print $2,$3}
|
|