我试图在linux脚本中捕获flume命令的进程id。
脚本正在nohup模式下执行:nohup flume.sh&
水槽.sh:
flume-ng agent --conf . -Dflume.root.logger=info,console -Djavax.net.debug=info,console --conf-file FLUME_Surya.conf --name IBMMQ --classpath $CLASSPATH -Dcom.ibm.mq.cfg.useIBMCipherMappings=false
echo $! > /biph/edl/SG/jobs/Src-104000-IPS_SG/CUL_FLUME_PROCESS_ID.txt
执行脚本后,文本文件仍然为空,请通知
最佳答案
$!
包含最新后台作业的进程ID。也就是说,通过在行的末尾放置一个&
将作业放置在后台。在您的脚本中,没有任何内容放在后台,因此$!
是空的。(echo
命令行将打开该文件,如果不存在,则创建它,并截断它。但它没有什么可写的。)