网上有很多文章已经写如何查看进程详情,但根据进程id判断进程是否存在的方法描述的不够简洁。
脚本示例
下面示例中的$pid 替换成实际的进程id。
result=$(ps -p $pid | awk -F' ' '{print $1}' | grep '[0-9]')
if [ $result ]; then
# 进程存在
else
# 进程不存在
fi
示例详解
通过ps -p 命令查看进程详情。如果进程存在:
ps -p 30536
PID TTY TIME CMD 30536 ? 00:00:00 chrome
如果进程不存在:
PID TTY TIME CMD
然后通过awk和grep命令提出进程id。
awk -F' ' '{print $1}' | grep '[0-9]')
将整个命令执行的结果赋值给result变量:
result=$(ps -p $pid | awk -F' ' '{print $1}' | grep '[0-9]')
$result if判断为真则表示进程存在。