Linux screen 工具 - 在 cron 中创建的会话上运行命令

Linux screen 工具 - 在 cron 中创建的会话上运行命令

在 crontab 中(通过用户命令编辑crontab -eme,我写道:

@reboot /usr/bin/screen -mdS test
*/6 * * * * /home/me/RunDFB.sh

我正在RunDFB.sh检查我的控制台应用程序(在会话中运行screen)是否正常工作 - 如果不是,脚本将终止我的应用程序,并通过以下命令再次运行它:

/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_CMDscreen

我究竟做错了什么?

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"

相关内容