Как добраться до оболочки, которая запускает мой скрипт r c .local? - PullRequest
0 голосов
/ 04 мая 2020

Я изменил свой сценарий r c .local для запуска некоторых сценариев python при запуске. Этот python скрипт, похоже, успешно запущен. Поскольку скрипт выполняется вечно (предназначено), и я хочу посмотреть, что он делает, мой вопрос:

Есть ли способ получить доступ к оболочке, которая запускает этот скрипт?

Да, чтобы увидеть, что происходит, я мог бы зайти в какой-нибудь файл, но что, если этот сценарий должен получить ввод от пользователя через консоль?

Спасибо за вашу помощь!

1 Ответ

0 голосов
/ 05 мая 2020

Вы не сможете взаимодействовать со сценарием, запущенным rc.local. Но вы можете увидеть, что он делает, записав свой вывод в выделенные файлы:

python myscript.py > /home/myhome/log/myscript.log 2> /home/myhome/log/myscript.err

, где сообщения об ошибках go в отдельный файл журнала.

Обратите внимание, что ваш скрипт будет выполнен root, с соответствующими правами и владельцем.

Вот ссылка на более ранний ответ об этом с методом регистрации всех выходных данных rc.local.

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

Если вы не хотите связываться с rc.local для тестируя, вы также можете сначала запустить его через crontab на своей учетной записи или root (запланированное выполнение пользователем, см. man crontab). Это может быть проще для отладки, и вы можете запустить его через rc.local, как только он заработает, как вы хотите.

...