web-dev-qa-db-ja.com

前景と背景

フォアグラウンドとバックグラウンドのプロセスを確実に理解したかっただけです。たとえば、Hello_worldというプログラムがあります。

プログラムを開始したい場合は、フォアグラウンドで入力します。

Hello_world

次に、Hello_worldをバックグラウンドで続行する場合は、次のように入力します。

bg Hello_world

私がタイプした仕事を殺したい場合:

kill -9 %(job#) 

また、ジョブが終了したかどうかを確認するにはどうすればよいですか?

1
JVAN

入力した場合:

jobs

それはあなたのバックグラウンドジョブがどのようなステータスであるかを教えてくれるはずです。

詳細については、 手動 を参照してください。

例:

./job &

現在、バックグラウンドで実行されています。

あなたはそれを殺すことができます:

kill %1

または、次のようなスイッチを使用します。

-HUP

-TERM

-KILL

いずれにせよ、最終的にあなたが見たいと思う:

[1]+  Terminated              ./job

そして、これはjobsコマンドによって再び実行されます。

0

素晴らしい @ Vlastimilによる説明 。前景/背景の間をジャンプできることだけを追加します。

fg%background_job_ID

例えば。、

fg%2

そして今、あなたはそれを前面に持ってきました、あなたはその文脈にいます、つまりあなたは次のことができます:

一時停止(停止/一時停止): Ctrl+Z

割り込み:Ctrl+C(これにより、通常、プロセスが終了します。つまり、終了します)

このすべての間に、jobsコマンドを実行することで、何が実行されているか、何が一時停止されているか、何が終了しているかを確認できます。

しかし、ええ、それはシェル管理による背景/前景の主要な側面の一種です。

0
VeRo