Shell 获取进程 PID

    Linux 的交互式 Shell 与 Shell 脚本存在一定的差异,主要是由于后者存在一个独立的运行进程,因此在获取进程 pid 上二者也有所区别。

交互式 Bash Shell 获取进程 pid

#在已知进程名(name)的前提下,交互式 Shell 获取进程 pid 有很多种方法,典型的通过 grep 获取 pid 的方法为(这里添加 -v grep是为了避免匹配到 grep 进程):
ps -ef | grep "name" | grep -v grep | awk '{print $2}'
#或者不使用 grep(这里名称首字母加[]的目的是为了避免匹配到 awk 自身的进程):
ps -ef | awk '/[n]ame/{print $2}'
#如果只使用 x 参数的话则 pid 应该位于第一位:
ps x | awk '/[n]ame/{print $1}'
#最简单的方法是使用 pgrep:
pgrep -f name
#如果需要查找到 pid 之后 kill 掉该进程,还可以使用 pkill:
pkill -f name
#如果是可执行程序的话,可以直接使用 pidof
pidof name

学习shell 地址

https://www.yiibai.com/shell/unix-special-variables.html

http://wiki.jikexueyuan.com/project/shell-learning/gorgeous-printf-output.html

猜你喜欢

转载自blog.51cto.com/hsuing/2107977