Я создал файл bash, который выполняет скрипт python на существующем экране под названием «cronscreen». Файл Баша содержит следующую строку:linux не может получить доступ к экранам на crontab
screen -S cronscreen -X stuff "python test.py$(printf \\r)"
При запуске файла из командной строки, он отлично работает, и я вижу, вывод распечатывается, когда я присоединять мой «cronscreen». Тем не менее, я хотел бы, чтобы работать в хронах, поэтому я создал кронтаб следующим образом:
* * * * * myuser /home/myuser/myscript.sh > /home/ec2-user/agg.log
хроны выполняются, потому что я могу видеть, что файл agg.log регенерируется каждая минута, но когда я придаю «cronscreen», я не вижу выхода, напечатанного там (и agg.log пуст). Почему это? Благодарю.
Update:
Я также попытался изменить сценарий к этому (повторно креплению экрана), но без изменений:
screen -r cronscreen
screen -S cronscreen -X stuff "python test.py$(printf \\r)"
вы должны сделать экран отключается от активного сеанса, так что у него есть tty, и вы должны использовать -dmS, чтобы сделать это –
Amias