我有一个将许多作业发送到集群的 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