Куда идет вывод сценария, который был запущен при запуске?
У меня есть скрипт, который запускается при запуске из rc.local
Я нигде не перенаправляю вывод.
Когда я впервые написал его, я запустил его в оболочке, он работал, как я ожидал, и постоянно выливал символы из стандартного вывода на экран, поэтому я добавил path/to/myscript
в rc.local
и больше ничего об этом не думал.
Недавно, когда я запускал php-скрипт в командной строке через SSH-оболочку, я заметил, что когда возникли проблемы с подключением (между моим терминалом и SSH-сервером), это означало, что stdout с точки зрения php-скрипта некуда идти и скрипт будет зависать до тех пор, пока не улучшится соединение и снова не начнёт течь stdout.
Это заставило меня блуждать, если я действительно должен был направлять вывод моего сценария запуска где-то, по крайней мере, /dev/null
если я не заинтересован в выводе.
Но главный вопрос: каковы последствия того, что вы этого не сделаете? Есть ли какой-нибудь буфер, который станет "забитым" и не позволит скрипту работать, или вывод будет просто проигнорирован?
1 ответ
Как правило, стандартный сценарий запуска системы направляется на консольное устройство, если он явно не находится в другом месте в конкретном сценарии запуска.