私の理解でos.popen()
は、Python内でパイプを開き、新しいサブプロセスを開始します。os.popen()と組み合わせてforループを実行すると、問題が発生します。CTRL+Cがループから外れているようには見えません。これが私のコードです:
for FILE in os.popen("ls $MY_DIR/"):
os.system("./processFile " + FILE)
私がしようとするとCTRL+C、Pythonはプログラムを停止し./processFile
ますが、Pythonプログラム自体は停止しません!
私はグーグルを回っていましたが、正しい答えを見つけることができなかったようです。一部の人々はSIGNALSの使用を推奨しています(私は試しました...それは機能しませんでした)。別の人はPIDを使用して子PIDを殺そうとしましたが、私はそれを取得できなかったようです。
CTRL+C(SIGINT)を使用するときにプログラミングを停止できるように、誰かが私をより良い例に導くことができますか?