捕获后台任务的错误代码

时间:2015-09-11 11:15:57

标签: bash

我的覆盆子中有一个python脚本,它运行在无限循环中。我想抓住它的退出代码,以防它停止。我制作了一个名为 run 的脚本,如下所示:

#!/bin/bash
~/bin/script.py &
wait $! && echo "script exited with code $?" >> ~/bin/log/script.log &

但是当我运行它时,我收到以下错误:

~/bin/run: line 3: wait: pid 2728 is not a child of this shell

任何人都可以给我一些解决方案吗?

1 个答案:

答案 0 :(得分:0)

您正在将(单个)脚本推送到后台,然后执行阻塞等待。我想,这是不必要的。你可以写:

!/bin/bash
~/bin/script.py
echo "script exited with code $?" >> ~/bin/log/script.log