我有一个bash脚本,可以将许多作业发送到集群,它看起来像这样:
for i in `seq 1 ${MIN}`
do
cd longjob_${i}/
make
nohup ./prog.x &
done
prog.x
是一个fortran可执行文件。我想记录每份工作的pid,所以我可以
在需要时随意杀死工作。有没有办法做到这一点,例如,记录pid
nohup.out
文件中的数字?
答案 0 :(得分:1)
变量$!
包含已启动的上一个后台作业的PID:
for i in `seq 1 ${MIN}`
do
cd longjob_${i}/
make
nohup ./prog.x &
echo $! >> ~/pids.txt
done