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

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
preetam 10 Июл 2017 в 21:34
1
Вы пробовали опцию -b?
 – 
Bjorn A.
10 Июл 2017 в 21:36
Его на QNX, у меня есть только следующие параметры: top [-i число] [-d] [-n узел] [-p приоритет] i = количество итераций d = вывод глупого терминала -n удаленный узел для запуска на -p приоритет процесса
 – 
preetam
10 Июл 2017 в 21:43
Я предполагаю, что это эквивалент использования только параметров -n и -b.
 – 
preetam
10 Июл 2017 в 21:47
Если платформа - QNX, почему тег Linux?
 – 
Bjorn A.
10 Июл 2017 в 21:51
Предполагается, что он совместим с posix. Вот почему. Вдобавок я наблюдаю подобное поведение на моем Ubuntu.
 – 
preetam
10 Июл 2017 в 21:54

1 ответ

Лучший ответ
top -n 1 -b

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

1
hedgar2017 10 Июл 2017 в 23:45