多くの人がCtrl + sは、プログラムではなくターミナル出力のみを停止/一時停止すると言いました。しかし、今日はターミナルで映画を開きました。
mplayer mymovie.mkv
映画の停止を押した後に映画 の再生を開始し、押した後にctrl+S
再開(マウスホイールを使う)ctrl+q
ctrl + s ctrlを使用してxmmsとffplayも試しました。 +q
ffplay file.mp3 # The video stop,the terminal output stop, the audio continue
xmms file.mp3 # The audio continue
答え1
TTYのみを停止します。ただし、TTYで実行されているアプリケーションに伝播する副作用があります。
Ctrlデフォルトでは、+ を実行すると、STTY はプログラムが接続されているファイル記述子からのデータの読み取りを停止します。このファイル記述子は基本的にバッファ付きのパイプなので、あまり書かれていないプログラムは引き続き機能します。短期間にTTYが読み取らない間にバッファがいっぱいになると、ここに書き込もうとするすべてのアプリケーションがブロックされ、中断されます。
の詳細はわかりませんが、ffplay
これが何であるか疑われます。一種の進行状況バーまたはステータスを端末にレンダリングすると、そのバッファが非常に迅速に入力される可能性があります
。 TTYに書き込むスレッドのみをブロックできます。したがって、ビデオを処理するスレッドもTTYに書き込むスレッドであるか、他のスレッドが必要な場合は続行できます。 TTYに書き込んでいるスレッドが中断されます。