我在bash脚本中启动了此命令:
rsync -av $sourcedir/ $destdir/
如何将该特定命令的PID存储在同一脚本的变量中?
我试过:
rsync -av --stats $sourcedir/ $destdir/ && pid=$(echo $$)
但是在日志文件中报告的该操作的pid与打印出的回显$ pid的pid不同
感谢您的帮助!
答案 0 :(得分:2)
rsync -av --stats $sourcedir/ $destdir/ & pid=$!
请注意此处的&
用法。您可以并行运行命令。
如果你制作rsync && pid=$!
,那就错了,因为命令(rsync
)已经在你进行作业的时候完成了pid=$!
,所以它是没有的感觉是出于显而易见的原因将其pid保存在变量中。
答案 1 :(得分:2)
PID存储在$!
中,您可能希望在程序运行时获取PID,而不是在完成后获取。
rsync -av --stats $sourcedir/ $destdir/ & pid=$!