- 締切済み
コンソールの休止状態
コンソールアプリケーションでは、PauseまたはCtrl+Sにより、 表示が休止しますが、この状態(休止中 or 非休止中)を 知る方法はないでしょうか。 ご存知の方がいらしたら、ぜひご教授ください。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- _kappe_
- ベストアンサー率68% (1581/2304)
回答No.1
UNIX系のOSでの話でしょうか。 Ctrl+Sでコンソールでの文字入出力が止まりCtrl+Qで再開するのはTTY側のフロー制御機能であって、アプリケーション側の状態を調べても分からないと思います。TTYのフロー制御状態を知る方法が何かしらありそうですが、見つけられませんでした。 Ctrl+Sで文字入出力が止まってしまうのが気に入らないという場合は、設定で無効化することもできます。 https://www.itmedia.co.jp/help/tips/linux/l0612.html
お礼
回答ありがとうございます。 OSを書き漏らしておりました。 Windowsのプログラムです。 私も機械語をトレースし、WriteFileの中で データを出力するまでは状態の確認など していないことは突き止めました。 更に言うと、システムコール内で停止している ことも分かりました。 デバイスコントロールあたりまで追えば、 あるいは分かるかも知れないんですが、 システムコールの先はデバッガでは追えず、 諦めました。 今は開始からずっとキーをモニタして PauseやCtrl+S、その他のキー押下を 管理して、状態を把握しています。 まぁ、プロセス起動から、キーボードの 監視を始めるまでの僅かな間にPauseを 押すのは人間業では無理だと思うことで、 自らを慰めております。 でも、論理的じゃないんですよね。