Куда идет вывод сценария, который был запущен при запуске?

У меня есть скрипт, который запускается при запуске из rc.localЯ нигде не перенаправляю вывод.

Когда я впервые написал его, я запустил его в оболочке, он работал, как я ожидал, и постоянно выливал символы из стандартного вывода на экран, поэтому я добавил path/to/myscript в rc.local и больше ничего об этом не думал.

Недавно, когда я запускал php-скрипт в командной строке через SSH-оболочку, я заметил, что когда возникли проблемы с подключением (между моим терминалом и SSH-сервером), это означало, что stdout с точки зрения php-скрипта некуда идти и скрипт будет зависать до тех пор, пока не улучшится соединение и снова не начнёт течь stdout.

Это заставило меня блуждать, если я действительно должен был направлять вывод моего сценария запуска где-то, по крайней мере, /dev/null если я не заинтересован в выводе.

Но главный вопрос: каковы последствия того, что вы этого не сделаете? Есть ли какой-нибудь буфер, который станет "забитым" и не позволит скрипту работать, или вывод будет просто проигнорирован?

1 ответ

Как правило, стандартный сценарий запуска системы направляется на консольное устройство, если он явно не находится в другом месте в конкретном сценарии запуска.

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