首页 > 解决方案 > 如何检查守护程序是否作为脚本的一部分成功启动?

问题描述

假设我有这个脚本:

start daemon1 &
start daemon2 &
echo "Running..."

daemon2只有daemon1启动成功才能启动。如果daemon1没有成功启动,那么脚本大部分被中止

"Running..."只有在daemon2成功启动时才会显示。如果daemon2没有成功启动,那么脚本大部分被中止

我怎样才能用 shell 脚本来做这个?

标签: linuxbashshellunix

解决方案


可以查看启动进程的PID,看它是否正在运行

start daemon1 &
P=$!
if kill -0 $P > /dev/null 2>&1 ; then 
    start daemon2 &
    P=$!
    if kill -0 $P > /dev/null 2>&1 ; then
        echo "Running..."
    fi
fi

未经测试的代码。评论如果有什么不对


推荐阅读