这是我的剧本
#!/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
完成后我无法终止该进程,它将永远停留在该目录中。有什么建议吗?