GNU/Linux >> Linux の 問題 >  >> Linux

unix\Linux アプリケーションでの CTRL + Z の​​効果は何ですか

「バックグラウンド ジョブ」とは、ユーザーとやり取りしていないジョブのことです。tty を制御せず、単にその役割を果たします (通常は黙って)。フォアグラウンド ジョブはその逆で、tty を制御してユーザーと対話します。

Control-Z は、最新のフォアグラウンド プロセス (tty と対話する最後のプロセス) を一時停止します (シェルが通常行うように、そのプロセスが一時停止を無視する手順を実行しない限り)。通常、これによりシェルに戻り、コマンド bg を入力できます。 中断したばかりのプロセスをバックグラウンドに移動する (実行を継続させる) または fg


Ctrl+Z を押すと TSTP が送信されます プロセスにシグナルを送ります。これにより実行が停止し (カーネルはプロセスにそれ以上の CPU 時間をスケジュールしません)、プロセスは処理を続行するための CONT を待機しています。

kill -TSTP 経由でこれをエミュレート/複製できます と kill -CONT (kill以降 名前にもかかわらず、指定されたシグナルをプロセスに送信します!)

シェルにはプロセスを「バックグラウンド」にする機能がありますが、これはシェルとプロセスの間の関係です。プロセス自体には、「バックグラウンド」または「フォアグラウンド」という概念は実際にはありません。

詳しくはこちらをご覧ください。


このコマンドを検討してください。ラップトップで 4.5 秒:

echo 2^10000000 | bc -lq | wc -c

Ctrl を押したとき +Z 、計算が中断されます。 fg を使用してフォアグラウンドで計算を再開するオプションがあります 、または bg を使用してバックグラウンドで再開します .後者は、次の実行とほぼ同じです:

echo 2^10000000 | bc -lq | wc -c &

Linux
  1. このX11ウィンドウを作成したプロセスは何ですか?

  2. `ps`の「セッションリーダー」とは何ですか?

  3. Linuxでプロセスの優先順位を見つけるコマンドは何ですか?

  1. バックグラウンドプロセスを一時停止してフォアグラウンドにする方法は?

  2. Ctrl + vはVimで何をしますか?

  3. Psの出力にはどういう意味がありますか?

  1. さまざまな信号が送信される原因は何ですか?

  2. プロセスがリッスンしている信号を確認する方法は?

  3. スレッドが分岐するとどうなりますか?