こんにちは私はchild_process.spwanを使ってWindows上でPythonスクリプトを実行している子プロセスを開始しています。スクリプトはSIGINTを待ち受けて正常に終了します。しかし、Windowsはシグナルをサポートしておらず、すべてのノードがシミュレーションしていました。したがって、Windows上のchild_process.kill('SIGINT')
は、実際に無条件にプロセスを強制終了しています(優雅な終了、pythonのSIGTERM/SIGINTハンドラは呼び出されません)。また、ctrl+c
文字をstdinに書き込むこともできません。Nodejs:Windows上の子プロセスにCtrl + Cを送信
私はPython APIを調べると、必要に応じてCTRL_BREAK_EVENTとCTRL_C_EVENTを取得しました。私はノードがこれらのようなプラットフォーム固有のAPIを持っているのだろうか?
関連の記事ではなく、作業のもの: How to send control C node.js and child_processes sending crtl+c to a node.js spawned childprocess using stdin.write()?
感謝。これは確かに、子プロセスがノードプロセスである場合に機能します。しかし、結局のところ、いくつかのリソース(ソケットなど)を保持するが、JavaScriptをまったく話さないPythonプロセス(例えば、 'spawn( 'python'、['myscript.py']')を生成する必要があればどうでしょうか。私は、クロスプラットフォームの方法でPythonのprocをIPCするのですか? – kenmark