我试图在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命令行将打开该文件,如果不存在,则创建它,并截断它。但它没有什么可写的。)

08-28 00:45