我试图在linux脚本中捕获flume命令的进程ID。
脚本正在nohup模式下执行: nohup flume.sh&
flume.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
执行脚本后文本文件仍然为空,请指教
答案 0 :(得分:2)
$!
包含最近后台作业的进程ID。也就是说,通过在行尾添加&
来将作业放在后台。在您的脚本中没有任何内容放入后台,因此$!
为空。 (echo
命令行将打开文件,如果它不存在则创建它,如果存在则将其截断。但它没有任何内容可写入。)