如何通过SSH运行PHP脚本并在退出后保持其运行
我正在尝试重新启动自定义IRC bot。我尝试了各种命令:如何通过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终端。您也可以注销,该进程仍将
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
后将它发送回后台的命令吗?