linux shell脚本利用 kill -0 检查进程是否存在

简介: linux shell脚本利用 kill -0 检查进程是否存在

1.kill -0介绍
kill -0 pid用来检查进程是否存在,kill -0 pid解释(来自man kill):“If sig is 0, then no signal is sent, but error checking is still performed.”不发送任何信号,但是系统会进行错误检查。

kill -0 pid

->若存在,即进程在运行,执行 echo $? 会返回 0

->若不存在,即进程已停止运行,执行 echo $? 会返回 1

->另外,Linux 的返回码规则是除 0 以外全是错误

2.kill -0样例
使用kill -0检查vim进程是否存在

wait_for_vim_process_exit.sh

[root@rhel77 ~]# cat wait_for_vim_process_exit.sh

!/bin/bash

wait_for_vim_process_exit()
{
local pidforvim=$(ps -ef |grep vim |grep -v grep |awk '{print $2}')
local begin=$(date +%s)
local end
while kill -0 $pidforvim > /dev/null 2>&1
do
echo -n "."
sleep 1
end=$(date +%s)
if [ $((end-begin)) -gt 60 ];then
echo -e "\nTimeout"
break;
fi
done
}

main

wait_for_vim_process_exit
[root@rhel77 ~]# sh wait_for_vim_process_exit.sh
..........
[root@rhel77 ~]#
————————————————
版权声明:本文为CSDN博主「小黑要上天」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/z19861216/article/details/132333958

目录
相关文章
|
9天前
|
Web App开发 Java Linux
Linux之Shell基本命令篇
Linux之Shell基本命令篇
Linux之Shell基本命令篇
|
16天前
|
弹性计算 Shell Perl
ecs服务器shell常用脚本练习(二)
【4月更文挑战第1天】shell代码训练(二)
102 1
|
16天前
|
Linux Shell
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
70 1
|
18天前
|
Java Shell
SpringBoot启动脚本Shell
SpringBoot启动脚本Shell
15 0
|
1天前
|
JSON 运维 监控
训练shell常用脚本练习(三)
【4月更文挑战第14天】shell代码训练(三)
8 1
|
5天前
|
存储 弹性计算 Shell
ecs服务器shell常用脚本练习(十)
【4月更文挑战第11天】shell代码训练(十)
135 0
|
5天前
|
弹性计算 Shell Go
ecs服务器shell常用脚本练习(九)
【4月更文挑战第10天】shell代码训练(八)
120 0
|
10天前
|
Shell Linux
【Linux】12. 模拟实现shell
【Linux】12. 模拟实现shell
26 2
|
15天前
|
Ubuntu Unix Linux
【Linux/Ubuntu】Linux/Ubuntu运行python脚本
【Linux/Ubuntu】Linux/Ubuntu运行python脚本
|
16天前
|
Shell
【shell】实时查看网卡流量脚本
【shell】实时查看网卡流量脚本