无法捕获命令进程ID

时间:2016-09-10 11:15:43

标签: linux process

我试图在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
执行脚本后

文本文件仍然为空,请指教

1 个答案:

答案 0 :(得分:2)

$!包含最近后台作业的进程ID。也就是说,通过在行尾添加&来将作业放在后台。在您的脚本中没有任何内容放入后台,因此$!为空。 (echo命令行将打开文件,如果它不存在则创建它,如果存在则将其截断。但它没有任何内容可写入。)