小编par*_*thy的帖子

检查从同一 bash 脚本启动的后台进程的运行状态

我必须编写一个 bash 脚本,根据传递的命令行参数在后台启动一个进程,如果它能够成功运行启动程序,则返回。

这是我想要实现的伪代码

if [ "$1" = "PROG_1" ] ; then
    ./launchProg1 &
    if [ isLaunchSuccess ] ; then
        echo "Success"
    else
        echo "failed"
        exit 1
    fi
elif [ "$1" = "PROG_2" ] ; then
    ./launchProg2 &
    if [ isLaunchSuccess ] ; then
        echo "Success"
    else
        echo "failed"
        exit 1
    fi
fi
Run Code Online (Sandbox Code Playgroud)

脚本不能waitsleep因为它将被另一个关键任务 C++ 程序调用并且需要高吞吐量(每秒启动的进程数),而且进程的运行时间是未知的。脚本既不需要捕获任何输入/输出,也不需要等待启动的进程完成。

我尝试了以下方法失败:

#Method 1
if [ "$1" = "KP1" ] ; then
    echo "The …
Run Code Online (Sandbox Code Playgroud)

linux bash shell

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

bash ×1

linux ×1

shell ×1