私は(自家製の)CベースのPython拡張機能で計算量の多いシミュレーションを実行しています。時々、私は物事を間違えて、シミュレーションを終了したいと思います。ただし、Ctrl-Cは(画面に印刷する以外は)効果がないように見えるため、またはシステムモニター^C
を使用してプロセスを強制終了する必要があります。kill
私が見る限り、PythonはC拡張機能が終了するのを待つだけで、この間は実際には通信しません。
これを機能させる方法はありますか?
更新:(私の特定の問題に対する)主な答えは次のようになりました:1。コードを書き直して、定期的に制御を呼び出し元に戻します(Ctrl-Cが以下のPython C拡張を中断できるようにする答え)、または2. PyErr_CheckSignals()
(以下のhttps://stackoverflow.com/a/33652496/423420に回答してください)