/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.sh
tail -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 &
并完成。