アプリケーションに問題が発生した場合を検出したいと思いますread(stdin, ...)
。外部プロセスの書き込みを待つためにバッファリングされていないI / Oを使用できますか?
質問:
実行時にユーザー入力が必要なコマンドがあり、ヘッドレス環境を対象とするため、これらのコマンドを検出して処理したいと思います。
また、作業の範囲が少ないか、使用法があまりにも一般的であり、read(stdin, ..)
ユーザー入力を要求することに限定されない場合、他の制約セットも適用されるかどうか疑問に思います。私は次のことを考えることができます:
stdin
|
これらのチェックは、パイプがまだリダイレクトされていない場合にのみ実行されます。プロンプトは通常行全体を読み取るので(Enterキーを押す必要がある)、単一の文字を作成してみてください。
read(stdin, ...)
または、アプリケーションが入力を送信した瞬間ではない場合、入力はブロックされずに削除されますか(これがyes
端末からスパムを送信する理由にすぎません)。y\n