如何通过SSH运行PHP脚本并在退出后保持其运行

如何通过SSH运行PHP脚本并在退出后保持其运行,ssh,irc,bots,Ssh,Irc,Bots,我正在尝试重新启动自定义IRC bot。我尝试了各种命令: load.php daemon load.php daemon load.php && 但这会使脚本在控制台内执行(我看到所有输出),当我退出时,bot也会退出 机器人作者只教我IRC命令,所以我有点迷路。你可以安装一个名为screen的软件包。然后,运行screen-dm php load.php并使用screen-dR 这将允许您在后台运行脚本,并且仍然能够使用当前的SSH终端。您也可以注销,该进程仍将

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

load.php  
daemon load.php  
daemon load.php &&  
但这会使脚本在控制台内执行(我看到所有输出),当我退出时,bot也会退出


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

你可以安装一个名为screen的软件包。然后,运行
screen-dm php load.php
并使用
screen-dR


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

此行可能会对您有所帮助

php load.php &

很有可能,当您注销时,shell会向其所有正在运行的孩子发送
HUP
信号,以表明“线路已挂断”(指断开连接时“挂断”的线路。您知道,因为您将手机“挂”在挂钩上……)

HUP
信号将要求所有程序方便地退出

试试这个:

nohup load.php &
nohup
要求执行的下一个程序忽略
HUP
信号。有关详细信息,请参见
signal(7)
nohup(1)
手册页。
&
要求shell在后台执行程序


非常棒,一定要查看
screen(1)
tmux(1)
,但我不认为它们对于这个问题是必要的。

我做了nohup php load.php&但是当我对它进行PM时,bot会退出,我看不到我应该运行的其他文件:-\nohug工作,但是在我尝试PM它之后bot退出。一定有什么东西我遗漏了,将不得不等待作者在圣诞节后回来:-(也许机器人希望总是有一个终端。试试Clay推荐的
screen
,看看你PM它时机器人是否还活着。有人知道我键入
screen-dR
后将它发送回后台的命令吗?