如果脚本在启动时启动,我可以在哪里获取 nohup.out

如果脚本在启动时启动,我可以在哪里获取 nohup.out

/root/文件夹中的 test.sh

#!/bin/bash
echo "Hello" #Sample Code

现在在同一个文件夹(/root/folder)。我创建了 nohup_test.sh

#!/bin/bash
while true
do
    sh /root/folder/test.sh
    sleep 1
done

如果像这样运行上述文件nohup sh nohup_test.sh &。它将在后台运行并创建我们可以的nohup.out输出test.shtail -f nohup.out

现在我想要上述脚本 nohup_test.sh 运行开始启动(在操作系统启动时自动运行)。

我已经start.sh在同一目录 (/root/folder/) 中创建了另一个文件

#!/bin/bash
nohup sh /root/folder/nohup_test.sh &

我遵循了一个程序这里

  vi /etc/rc.local

添加如下条目

# This script is executed at the end of each multiuser runlevel
/root/folder/start.sh || exit 1   # Added by me
exit 0

我认为脚本正在启动(已使用 检查ps aux | grep "nohup")。但我没有获取nohup.out文件。那么,我如何获取该文件nohup.out或我必须遵循什么程序?谢谢!

答案1

cd /root/folder在顶部添加start.sh。在启动作业中切勿信任当前目录。

顺便说一句,这太复杂了。对于不是由终端启动的作业,您不需要 nohup;因此您可以在/etc/rc.local

/root/folder/nohup_test.sh > /root/folder/my_output_file.log 2>&1 & 

并完成。

相关内容