Linux screen tool - запустить команду в сеансе, созданном в cron
В crontab (редактируется с помощью команды crontab -e
на me
пользователь), я написал:
@reboot /usr/bin/screen -mdS test
*/6 * * * * /home/me/RunDFB.sh
я использую RunDFB.sh
чтобы проверить, мое консольное приложение (которое работает в screen
session) работает правильно - если это не так, скрипт убивает мое приложение и запускает его снова, выполнив следующую команду:
/usr/bin/screen -S test -X stuff "$SCREEN_CMD"`echo -ne '\015'`
Когда crontab создает сессию (напр. @reboot /usr/bin/screen -mdS test
), скрипт не может запустить команду из $SCREEN_CMD
переменная (без ошибок. Это просто не выполняется), но когда я создаю сессию самостоятельно (таким же образом, как crontab - /usr/bin/screen -mdS test
), скрипт запускает мой $SCREEN_CMD
в screen
сессия без проблем.
Что я делаю неправильно?
,
PS я пытался даже совместить это два screen
команды (/usr/bin/screen -m -d -S test -X stuff "$SCREEN_CMD"
echo -ne '\ 015'``), но затем (независимо от того, ввожу ли я команду самостоятельно или она выполняется crontab), я получаю сообщение об ошибке:
Сеанс экрана не найден.
,
@edit: вот содержание моего $SCREEN_CMD
переменная
SCREEN_CMD="dotnet run --project /home/pi/DFB/DFB.csproj"