0

在 Bash 中,我们可以运行这样的程序

./mybin && echo "OK"

和这个

./mybin || echo "fail"

但是我们如何将成功或失败命令附加到现有进程?

编辑解释

现在我们正在运行./mybin

mybin有或没有错误退出时,它什么都不做,但是在mybin运行期间,我怎样才能达到与启动过程一样的效果./mybin && echo ok || echo fail

在 shell 脚本和 python 编程方式中都很棒,谢谢!

4

1 回答 1

3

但是我们如何将成功或失败命令附加到现有的已经运行的进程上呢?

假设您指的是在后台运行的命令,您可以使用wait等待该命令完成并检索其返回状态。例如:

./command &  # run in background
wait $! && echo "completed successfully"

这里我使用$!的是获取后台进程的PID,但它可以是shell的任何子进程的PID。

于 2012-09-20T08:20:11.733 回答