shell 脚本根据名称查找进程id会多出来两个id号

今天要写一个shell脚本,要用到根据名称查找id的功能,百度了一下

pid=`ps -ef | grep "$filename" | grep -v "grep" | awk '{print $2}'`

上面这个语句就可以实现功能。

但是我运行脚本之后,发现进程id有3个 ,一个是要找的id,其他两个不是需要的,而且每次都不一样。

排查了一下,发现是把当前这个shell 脚本也计算在内了。

因为 当前这个脚本需要输入参数,参数名跟要搜索的进程名称有相同的部分,导致了这个问题。

解决方法:忽略当前的shell脚本即可

pid=`ps -ef | grep "$filename" | grep -v "cgroup" | grep -v "grep" | awk '{print $2}'`

 

原文链接:https://blog.csdn.net/qq_36296997/article/details/81563204

posted @ 2019-12-17 15:53  凌笑丶  阅读(634)  评论(0编辑  收藏  举报