在 crontab 中(通过用户命令编辑crontab -e
)me
,我写道:
@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_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"