Как сделать топовый запуск в фоновом режиме? Необходимо запустить и записать вывод. Не умирай и не зомби

Я пытаюсь создать скрипт для записи верхнего вывода в файл в фоновом режиме для моей встроенной системы. Но как только я помещаю это в фон, это или выходит или зомби. В чем проблема систем с запуском вещей в фоновом режиме? Мой сценарий

TOP_LOG_FILE=top_log.txt
if [ -e $TOP_LOG_FILE ] ; then
        rm $TOP_LOG_FILE
fi
while true
do
        echo "##"`date`"##" >> $TOP_LOG_FILE
        nohup top -n 1 >> $TOP_LOG_FILE 
        sleep 1
        echo "##xxxxxxxxxxx##" >> $TOP_LOG_FILE
done

Я пытаюсь выполнить это как

# nohup sh top_log.sh &


[4] 3051559

appending output to nohup.out

# 


[4] + Stopped (tty output) nohup sh top_log.sh

и в качестве

[5] 3121193

sh: top_log.sh: cannot execute - No such file or directory

[6] 3121194

# 


[6]   Done                 > /dev/null 

[5]   Done (126)           top_log.sh 

# 

Как мне на самом деле обойти это поведение?

1 ответ

top -n 1 -b

Хвост, что в цикле и добавить в файл.
Оберните ваш цикл в скрипт и запустите его из терминала с помощью &.

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