如何通过SSH运行PHP脚本并在我退出后继续运行它

时间:2011-12-24 00:34:42

标签: ssh irc bots

我正在尝试重新启动自定义IRC bot。我尝试了各种命令:

load.php  
daemon load.php  
daemon load.php &&  

但是这使得脚本在控制台内部执行(我看到所有输出),当我退出机器人时也退出。

机器人作者只教我IRC命令,所以我有点迷失。

3 个答案:

答案 0 :(得分:8)

您可以安装名为screen的软件包。然后,运行screen -dm php load.php并继续screen -dR

这将允许您在后台运行脚本,并且仍然可以使用您当前的SSH终端。您也可以注销,该过程仍将继续运行。

答案 1 :(得分:1)

当您注销以表明“线路已被挂断”(plain old telephone system modem对线路的引用“Clay's answer of using screen(1)时,shell会向其所有正在运行的子节点发送HUP信号。在断开连接时挂断。你知道,因为你把手机挂在钩子上......)

HUP信号将要求所有程序方便地死亡。

试试这个:

nohup load.php &

nohup要求执行忽略 HUP信号的下一个程序。有关详细信息,请参阅signal(7)nohup(1)联机帮助页。 &要求shell在后台执行程序。

{{3}}非常棒,绝对可以查看screen(1)tmux(1),但我不认为它们对于此问题是必要的。

答案 2 :(得分:0)

此行可能对您有所帮助

php load.php &