TMUX NewSession 与 php 页面的问题

TMUX NewSession 与 php 页面的问题

我有一个问题,我有一个 Garry's Mod 服务器,我用以下命令启动它:

./gmodserver start

在用户修改服务器

我正在尝试编写一个脚本,可以使用 php 页面执行该脚本来重启我的 gmod 服务器。该脚本:

screen -dmS test
screen -S test -X stuff 'sudo su - gmodserver\n'
screen -S test -X stuff 'sleep 1\n'
screen -S test -X stuff 'echo "Rebooting ..."\n'
screen -S test -X stuff 'sleep 1\n'
screen -S test -X stuff 'killall -s 9 srcds_linux srcds_run\n'
screen -S test -X stuff './../../../../home/gmodserver/gmodserver start \n'
screen -S test -X stuff 'sleep 5\n'
screen -S test -X stuff 'exit\n'
screen -S test -X stuff 'exit\n'

当我从终端执行此脚本时,没有任何问题,我的 tmux 会话已顺利创建./gmodserver start。并且服务器重新启动。在这里,如果我执行,tmux ls我会看到:

gmodserver: 1 windows (created Thu Jul 18 18:39:08 2019) [80x22]

所以这里一切都很好。但是当我使用 php 执行脚本时,使用:

shell_exec('./restart.sh');

服务器顺利重启,但如果我tmux ls看不到我的 gmodserver 会话,那么我就无法附加它,所以我无法做我想做的事情。

笔记:

  • Apache 正在 www-data 用户上运行
  • 我没有通过 www-data 和 gmodserver 的 sudo 进行操作
  • ./gmodserver start,不是我的脚本,而是 LinuxGSM 脚本
  • 在 7.2 中运行的 PHP

我希望你能帮助我,抱歉我的英语不好,我是法国人,再见:)

相关内容