私は2つの方法で終了できるプログラムを作成しました。ユーザーが「kill」という文字列を入力するか、特定のスレッドがSIGINTに信号を送ります。
このターミネータースレッドには、(「kill」をキャッチするための)ステートメントがあります。
$a = <>;
'return;'が続きます 上部にも適切なシグナルハンドラー(INT用)があります。
print "signal received\n";
threads->exit();
ただし、自動終了の場合(つまり、SIGINTが他のスレッドから送信される場合)、待機時間に関係なく、キーを押すまで印刷stmtは表示されません。<>がブロックしていると思います。
誰かが、結果をすぐに確認できるように、自動終了の場合に<>に何らかの入力を提供する方法を教えてください。
ありがとう。