shell 判断pid是否真实存在

问题场景:根据指定的pid号,判断该pid存在与否,存在需要结束掉该进程,不存在则不做处理。

代码:

PID=$(cat javapid.pid)

PID_EXIST=$(ps aux | awk '{print $2}'| grep -w $PID)

if [ ! $PID_EXIST ];then

echo the process $PID is not exist

else

echo the process $PID exist

kill -9 $PID

fi

 

ps a 显示现行终端机下的所有程序,包括其他用户的程序

ps u   以用户为主的格式来显示程序状况。

ps x   显示所有程序,不以终端机来区分。

ps aux就表示查询所有的进程,如下图

shell 判断pid是否真实存在_第1张图片

awk '{print $2}'表示取出第二个字段,也就是进程号字段

grep -w 进行精确匹配

$PID要查询的pid号

查询到就返回pid号,查询不到没有返回值

你可能感兴趣的:(问题记录)