我正在运行linux,因为您可能已经知道了。 因此,我用PHP和Python编写了一个gameserver面板,可以安装,启动和停止我为其编写脚本的任何游戏。经过一番摸索的测试之后,我现在将游戏添加到列表中,并且我第一个受支持的游戏将是夸张的。 我想要实现的是,我可以将命令发送到终端中运行的任何应用程序,还可以将输出读取到控制台窗口。。我的下一步将是Minecraft和其他一些游戏。我知道这两个游戏都有一个查询端口,但是a)我不知道如何从php向它发送查询,b)我想潜在地支持那里的每个游戏。
仅作记录,我可以从正在运行的进程中提取一个进程ID,如果有帮助的话。
所以我跑了ps aux | grep qzero,它说服务器在pts / 2上打开。因此,我正在测试的命令是暂停,当我手动键入该命令时,它会回显一些东西。
我在网上找到了命令
echo pause > /dev/pts/2
但是它真正要做的只是在控制台窗口中回显暂停。
我一直在在线搜索,但我想我真的不知道该寻找什么。也许与整个stdin和stdout的东西有关。
我知道这在其他语言中也是可行的,因为我已经在PufferPanel中弄乱了,它们也具有此功能。但这有一些缺陷,所以我决定编写自己的面板。
答案 0 :(得分:0)
所以实际上并不难。我没有找到直接将其发送到终端的解决方案,但是在tmux的帮助下,它可以完成。
您基本上开始一个会话,然后
tmux send-keys -t sessionname -l command
tmux send-keys -t sessionname Enter
这在Python中集成到应用程序中没问题。
显然也可以在屏幕上完成。