Linux 运行屏幕和命令crontab

Linux 运行屏幕和命令crontab,linux,cron,gnu-screen,Linux,Cron,Gnu Screen,我试图添加一个新的crontab,它打开一个屏幕窗口,并在这个窗口中执行php命令 我正在尝试的是: sudo crontab -e 10 0 * * * * screen -d -m php /var/www/script.php 这不会创建一个屏幕,但是,如果在-m之后删除,会创建一个正常的屏幕。 这段代码返回我必须在终端上运行的代码 10 0 * * * * screen -d 我该怎么做? 有可能吗 谢谢 编辑 明白了。我要做的是向附加的屏幕发送一些命令,如下所示: screen -

我试图添加一个新的crontab,它打开一个屏幕窗口,并在这个窗口中执行php命令

我正在尝试的是:

sudo crontab -e
10 0 * * * * screen -d -m php /var/www/script.php
这不会创建一个屏幕,但是,如果在-m之后删除,会创建一个正常的屏幕。 这段代码返回我必须在终端上运行的代码

10 0 * * * * screen -d
我该怎么做? 有可能吗

谢谢

编辑

明白了。我要做的是向附加的屏幕发送一些命令,如下所示:

screen -S sessionname -X stuff 'command'`echo -ne '\015'`
echo-ne'\015'
模拟按Enter键


这里提到了:

一个类似的问题在

在cron中,您没有终端(参见示例)。screen希望在终端中运行。要让它在这种情况下运行需要特殊处理

根据its,对
-d
-m
选项的组合进行了特殊处理:

-d-m

在“分离”模式下启动屏幕。这将创建一个新会话,但 不依附于它。这对于系统启动非常有用 脚本

以你为例,

php /var/www/script.php

是要运行的命令。它可能依赖于要设置的环境变量使其正常运行(例如特定的
路径
)。另一个问题中接受的答案显示了如何获取shell初始化(
.profile
)的源代码,例如,设置环境。您的shell可能会使用
.bash\u profile
等,但原理是一样的。

因为我是个新手,所以我没有意识到
东西
对让它正常工作很重要。我还以为是例句呢。对于任何其他新手,要让它为您工作,您只需更换
命令
stuff
命令被发送到屏幕,stuff命令的参数被输入屏幕窗口,就像在键盘上键入一样。