#!/bin/bash
timestamp=$(date +%Y_%m_%d_%H_%M_%S)
echo "当前时间戳为$timestamp"
pidpath=$(basename $0).pid #定义pid文件 文件名为当前Shell脚本名加上.pid后缀
if [ -f $pidpath ]; then #判断pid文件是否存在
echo "上一次进程ID为$(cat $pidpath)"
# shellcheck disable=SC2046
if kill -0 $(cat $pidpath) 2>/dev/null; then # 判断上一次进程是否存在
echo "上一次进程仍在运行"
exit 1
else
echo "上一次进程已结束"
fi
fi
echo $$ >$pidpath #将当前Shell进程号记录到pid文件中
echo "当前进程ID为$(cat $pidpath)"
【Linux】shell脚本重复启动问题解决方案
于 2024-02-17 22:11:16 首次发布