Где я могу получить nohup.out, если скрипт запускается при запуске

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 или я должен следовать какой-либо процедуре? Спасибо!

2
задан 13 April 2017 в 15:23

1 ответ

Добавьте cd /root/folder наверху start.sh. Никогда не доверяйте текущему каталогу заданиям запуска.

BTW, это чрезмерно сложно. Вам не нужен nohup для заданий, которые не запускаются терминалом; таким образом, можно использовать в /etc/rc.local

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

и быть сделаны.

3
ответ дан 14 April 2017 в 01:23
  • 1
    Сколько области подкачки Вы имеете настроенными? Что terminal вывод free -h после того, как система работала некоторое время? – heynnema 25 December 2016 в 11:16

Другие вопросы по тегам:

Похожие вопросы: