shell 如何在nohup上运行的脚本中使用nohup?

ldxq2e6h  于 2023-06-24  发布在  Shell
关注(0)|答案(1)|浏览(161)

我有一堆需要提交的作业,我希望它们的输出被写入文件,而不是在终端上打印。为此,我在shell脚本“www.example.com”中使用“nohup ./do.sh &”1.sh。后者在终端上使用“./1.sh &”执行。然而,我的工作在一个计算集群中运行,这里的互联网连接不稳定。有没有一种方法可以在后台运行整个作业提交过程,这样互联网中断就不会结束这个过程?
www.example.com的内容1.sh:

while [some condition]  
      do
            ifort -O3 iDFT_grafted.f90
            nohup ./do.sh &
            cd ../
      done
      cd ../

www.example.com的内容do.sh
./a.out
附加信息-我尝试了nohup ./1.sh &,但是这个命令将不同文件夹中所有单个作业的输出写入一个nohup.out文件。我希望nohup.out文件中的所有单个作业的输出都在它们各自的文件夹中。
更新-问题已解决。诀窍是在作业提交脚本“www.example.com“中简单地使用“./do.sh>“output.txt”&”1.sh,并使用命令“nohup ./1.sh &"提交作业脚本。这样即使我退出终端,作业提交也可以继续。

klsxnrf1

klsxnrf11#

将stderr和stdout重定向到相关的文件名,如下所示:

nohup ./script.sh > script_output.out 2>&1 &

相关问题