Как просмотреть вывод демона на сессии на Raspbian/Debian?

Вариант 2 - это вариант, только если вас волнует только разница между успехом и неудачей. Если вам нужно различать разные ненулевые статусы выхода, то необходим вариант 1.

some-command arg1 arg2
exit_status=$?
if [[ $exit_status -eq 0 ]]; then
   # ...
elif [[ $exit_status -eq 1 ]]; then
   # ...
elif [[ $exit status -eq 42 ]]; then
   # ...
else
   # ...
fi

(Вам необходимо сохранить $? как exit_status , потому что $? будет сброшен первым [[...]] ; в случае сбоя первый elif не будет проверять то же значение для $? снова.)

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

some-command arg1 arg2
case $? in
   0) # ...
   ;;
   1) # ...
   ;;
   42) # ...
   ;;
   *) # ...
   ;;
 esac
1
19.02.2015, 19:15
2 ответа

У меня нет dump1090 или приемник для подтверждения любого из этого. Но если вы читаете дальше в этой странице GitHub, вы ссылались, вы увидите, что если вы запустите:

./dump1090 --interactive --net

Он начнется встроенный веб-сервер.

Затем вы можете подключиться к порту Raspberry PI 8080 с вашим веб-браузером, введя его IP-адрес и порт в адресной строке браузера:

http://<IP address of Rasberry Pi>:8080/

(не забывайте, что толстая кишка До 8080 )

Ваш браузер должен отображать ваш живой трафик.

1
27.01.2020, 23:51

Самый простой способ захвата такого вывода - перенаправить стандартную ошибку в файл. В командной оболочке это делается с помощью 2> файла . Таким образом, если ваш демон обычно запускается следующим образом:

dump1090 --interactive

Измените это на

dump1090 --interactive 2> /tmp/dumplog

Что сохранит его вывод в файл /tmp/dumplog. На всякий случай вы можете перенаправить как стандартную ошибку, так и стандартный вывод (так как я не знаю, в какой из двух файлов ваша программа пишет):

dump1090 --interactive > /tmp/dumplog 2>&1
0
27.01.2020, 23:51

Теги

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