如何记录在 bash 脚本中启动的作业的 pid



我有一个将许多作业发送到集群的 bash 脚本,它看起来像这样:

for i in `seq 1 ${MIN}`
do
  cd longjob_${i}/
  make
  nohup ./prog.x &
done

prog.x是一个 Fortran 可执行文件。我想记录每个作业的pid,这样我就可以需要时随意杀死工作。有没有办法做到这一点,例如,记录pidnohup.out文件中的数字?

变量$!包含上次启动的后台作业的 PID:

for i in `seq 1 ${MIN}`
do
  cd longjob_${i}/
  make
  nohup ./prog.x &
  echo $! >> ~/pids.txt
done

相关内容

  • 没有找到相关文章

最新更新