在我的情况下,我有一个shell脚本在后台运行rsync和焦油。 rsync是用来传输文件的,tar是在rsync完成后进行压缩的。 我的问题是如何监视rsync的PID,并告诉当rsync的PID不再存在时启动tar命令。
shell脚本可能如下所示:
rsync data.log B/ & tar data.tar.gz B/data.log &
它很容易:你需要存储pidvariables:
PID_1=$!
为了检查ID进度仍在运行,就像kill -0一样继续:
while True: if [ 'kill -0 $PID_1' -eq 0 ]; then echo Process still running else echo process done
(如果代码不能正常运行 – iam非常抱歉,我一直在床上写:-))
为了说明:'kill -0 $ PID_1'返回0或显然是1.如果它的0进程正在运行,并且如果它的进程完成了。 你可以用'echo $?'来检查返回码。
我希望这有帮助。