始める前に、これがコマンド ライン ツールではなく、独自のコマンド ライン インターフェイスを介してコマンドを受け取るアプリケーションであることを明確にしておきます。
編集:以前の説明についてお詫びしなければなりません。明らかに、説明がうまくできていませんでした。もう1回...
ユーザーからのコマンドを受け入れるコマンドライン インターフェイス アプリケーションを構築しています。シグナルをキャッチするシグナル ハンドラーをセットアップし、アプリケーションを終了するために必要なフラグを設定します。私が抱えている問題は、見つけることができるすべてのコンソール機能がブロックされていることです。つまり、ユーザーがキーを押すまで (または機能によっては入力するまで)、コンソール処理ループを終了する必要があることを検出できません。 )。
非ブロックコンソール対話を行うことができる標準的な方法はありますか、またはシグナルスレッドから終了するだけですべてが適切に処理および解放されるようにプログラムを構成するエレガントな方法はありますか (誤解しないでください) -これを理解してください。シグナリングスレッドからリソースをロックおよび解放することでこれを行う方法は知っていますが、これは面倒になる可能性があるため、むしろ避けたいと思います)
うまくいけば、その説明はより理にかなっています...