我目前正在设计一个脚本,最终将控制一系列游戏,并能够从主脚本开始和停止所有游戏。
但是,其中一款游戏只能通过按“ESC”键优雅地停止。我如何将其解释为信号或类似的东西?
*游戏以 gamename.Popen() 开始,然后通常通过发送 SIGINT 或 SIGQUIT 来停止。
想法?
请您参考如下方法:
However, one of the games can only gracefully stop by pressing the 'ESC' key. How can I interpret this into a signal or something similar?
你不能。您试图掩盖子进程中的设计错误,我怀疑该子进程获取了自己的输入并且不使用允许您发送 Esc 的标准输入。如果这个假设不正确,请告诉我。
你试过在这个游戏中使用 SIGTERM 吗?这是更传统的“清理自己并退出”信号,我可以很好地想象有人编写代码来优雅地处理 SIGTERM,同时将 SIGINT 和 SIGQUIT 保留为默认值。
