后台进程未在bash中运行

时间:2019-01-10 18:01:38

标签: bash shell sh

这是我的剧本

#!/bin/bash

cd /data

find . -type f -print0 | xargs -0 dos2unix

mkdir output

chmod u+x ./script.sh

ls

(sleep 5; source ./script.sh;) & BACK_PID=$!

nohup python ./watcher.py &

wait $BACK_PID

pkill -P $$

ls

ls ./output

我正在尝试同时运行 ./ script.sh python watcher.py ,我需要watcher.py在后台运行,但未运行完全没有我使用了各种方法,例如disown甚至将输出定向到/dev/null,但似乎没有任何效果,并且无法在后台运行。

但是,如果我删除&,它将运行,即使有等待,它也会进入竞争状态。这是因为watcher.py不会停止,除非它正在监视目录,否则将终止,并且如果./script.sh完成后我无法终止该进程,它将永远停留在该目录中。有什么建议吗?

0 个答案:

没有答案