2014-01-26 25 views
0

我想在尚未被调用的屏幕会话中启动PHP进程。我不想附加在这个屏幕上。我将首先手动发布这些内容,然后使用shell脚本。我想将每个文件的输出写入一个唯一的日志文件(最好在/ tmp/shell中),但它在哪里并不重要。如何在尚未调用的屏幕会话中启动PHP进程?

这似乎接近我想要的东西,但不工作:

screen -d -m -X 'php process.php param1 param2' 

SOLUTION

只需卸下-X。

这工作screen -d -m php process.php param1 param2

+1

这里有什么回答你的问题吗? http://serverfault.com/questions/104668/create-screen-and-run-command-without-attaching – merlin2011

回答

1

我认为你需要跳过-X

screen -d -m 'php process.php param1 param2' 

也非常有用给予会话的名称,特别是如果你开始几个:

screen -d -m -S mysession 'php process.php param1 param2' 

-X用于发送commandsscreen本身。

参见:this QA here on SO

附加说明

的开始screen会议只会只要你的命令运行存在。当php process.php ...退出时,screen也将退出。

+0

'screen -d -m'创建一个新的Screen会话,但显然不会启动任何内容。 'screen -d -m'php process.php param1 param2''无法为我启动一个新的Screen会话。该命令执行时没有任何输出。 –

+1

@ T.BrianJones - 也许运行PHP的一些问题。尝试另一个命令,例如'screen -d -m top',然后'screen -r'和'top'应该已经在运行。我经常用这个。 – grebneke

+0

@ T.BrianJones - 如果'php'退出,'screen'也会退出。例如:'screen -d -m date'将立即退出,因此无法恢复。 – grebneke

相关问题