unixLinuxアプリケーションでのCTRL + Zの効果は何ですか?

linux process unix

CTRl+Zの挙動が正確にはどうなっているのか、興味津々で戸惑っていました

フォアグラウンドでプロセスを実行しているときに、ctrl+zを押すとバックグラウンドになります

しかし、具体的にはどうなるのか

仕事を続けているのか、それとも中断されて、その時点で停止しているのか

その時点で止められたらバックグランドジョブの意味とは

  94  None  2012-09-13


ベストアンサー

バックグラウンドジョブ」とは、ユーザと対話しないジョブのことで、ttyを制御しておらず、(一般的には無言で)自分の仕事をしているだけのものです。フォアグラウンドジョブはその逆で、ユーザと対話するために tty の制御を保持します

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

80  mah  2012-09-13


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

これをkill -TSTPkill -CONTを介してエミュレート/複製することができます(killは名前にもかかわらず、あなたのプロセスに指名されたシグナルを送信するので!)

シェルはプロセスを「背景」にする機能を持っていますが、これはシェルとプロセスの関係です。プロセス自体には ‘background’ や ‘foreground’ という概念はありません

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

64  Brian Agnew  2012-09-13


このコマンドは、私のラップトップで約4.5秒かかると考えてください

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

Ctrl+Zを押すと計算が中断されます。fgを使ってフォアグラウンドで計算を再開するか、bgを使ってバックグラウンドで計算を再開するかの選択肢があります。後者は多かれ少なかれ実行と同等です

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

16  Bolo  2012-09-13


ctrl+zキーを押すとプロセスが中断され、停止します。fgでは中断したジョブをフォアグラウンドに移動させることができ、bgではバックグラウンドで実行することができます

詳細はhttp://linuxreviews.org/beginner/jobs/をご覧ください

9  alexclooze  2012-09-13


タイトルとURLをコピーしました