您的位置:首页 > 运维架构 > Shell

linux下使用Shell显示运行脚本进程号的方法

2015-12-17 00:00 731 查看
一般来说,我们可以使用pidof来显示运行进程的进程号,但是,如果是想获取运行脚本的进程号的话,用pidof是获取不到的。以sh运行脚本test.sh为例,test.sh脚本如下:

while true
do
sleep 1
done


执行如下命令sh test.sh,脚本就会进入死循环。执行pidof 'sh test.sh'命令,获取结果为空;执行pidof sh却可以得到以下所有sh执行的脚本进程,包括我们的test.sh进程。因此,为了获取到对应进程号,我们可以使用以下两种方法:

ps

ps是传统方法,只是这里直接使用命令“ps -ef | grep 'sh test.sh'”,会额外得到一个grep进程,如下:



所以这里只需要排除即可,如下:



pgrep

pgrep的man结果如右:pgrep, pkill - look up or signal processes based on name and other attributes。可见,pgrep就时专门基于名称等来获取进程号的,直接使用如下命令即可:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  进程 shell script