我在我的VPS上为我的伴侣托管一个游戏服务器,我试图为他制作一个网页,如果他愿意,可以停止服务器。
我使用的是:
system('/bin/sh stopserver.sh');
这就是stopserver.sh:
/usr/bin/screen -S server -X kill
但这给我的信息是:必须连接到终端。
有什么建议吗?
我认为这可能是您使用的屏幕版本中的一个错误,因为我拥有的4.00.03jw4 (FAU) 2-May-06
没有显示出来。如果可能的话,我建议升级。
如果你不能升级屏幕,你需要想办法为它提供一个终端。不幸的是,我不知道该怎么做。在某些版本的PHP中,proc_open()
似乎能够做到这一点,至少如果PHP是用正确的选项编译的,但显然该功能已经被删除。
如果expect
安装在您的系统上,那么使用它可能是一个很长的机会。
编辑:或者按照tMC的建议,使用posix_kill($pid, SIGTERM)
。不过,您需要首先找到会话的进程ID。(你可能会为它输出ps
。如果你不担心附带损害,也可以使用killall
。(