test.sh в / root / folder
#!/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
или я должен следовать какой-либо процедуре? Спасибо!
Добавьте cd /root/folder
наверху start.sh
. Никогда не доверяйте текущему каталогу заданиям запуска.
BTW, это чрезмерно сложно. Вам не нужен nohup для заданий, которые не запускаются терминалом; таким образом, можно использовать в /etc/rc.local
/root/folder/nohup_test.sh > /root/folder/my_output_file.log 2>&1 &
и быть сделаны.
terminal
выводfree -h
после того, как система работала некоторое время? – heynnema 25 December 2016 в 11:16