Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 发送';ESC&x27;或向子进程发送信号_Python_Signals_Subprocess_Popen_Sigint - Fatal编程技术网

Python 发送';ESC&x27;或向子进程发送信号

Python 发送';ESC&x27;或向子进程发送信号,python,signals,subprocess,popen,sigint,Python,Signals,Subprocess,Popen,Sigint,我目前正在设计一个脚本,它最终将控制一系列游戏,能够从主脚本开始和停止它们 但是,其中一个游戏只能通过按“ESC”键正常停止。我如何将其解释为信号或类似的东西 *游戏以gamename.Popen()开始,然后通常通过发送SIGINT或SIGQUIT来停止 想法?如果您通过使用管道发送击键来控制它们,那么发送chr(0x1b)就可以了 但是,其中一个游戏只能通过按“ESC”键正常停止。我如何将其解释为信号或类似的东西 你不能。您试图掩盖子进程中的设计错误,我怀疑该子进程获取了自己的输入,并且没有

我目前正在设计一个脚本,它最终将控制一系列游戏,能够从主脚本开始和停止它们

但是,其中一个游戏只能通过按“ESC”键正常停止。我如何将其解释为信号或类似的东西

*游戏以gamename.Popen()开始,然后通常通过发送SIGINT或SIGQUIT来停止


想法?

如果您通过使用管道发送击键来控制它们,那么发送
chr(0x1b)
就可以了

但是,其中一个游戏只能通过按“ESC”键正常停止。我如何将其解释为信号或类似的东西

你不能。您试图掩盖子进程中的设计错误,我怀疑该子进程获取了自己的输入,并且没有使用stdin,这将允许您发送Esc。如果这个假设不正确,请告诉我


你试过在这个游戏中使用SIGTERM吗?这是更为传统的“清理并退出”信号,我可以想象有人编写代码优雅地处理SIGTERM,同时将SIGINT和SIGQUIT保留为默认值。

我同意你的说法。游戏确实有一个设计问题,我已经得出结论,我会让脚本以SIGTERM结尾,他们需要更新他们的游戏。