%1を殺すとはどういう意味ですか

%1を殺すとはどういう意味ですか

次のコマンドを見たことがあります:

$ kill %1

このステートメントの使用法は何ですか?

答え1

簡単に言うと、

それは殺すことを意味する仕事1番、プロセス一番。

コマンドを使用してジョブを一覧表示できますjobs

もっと広く言えば、これは使用しているシェルに関係し、構文はシェルごとに異なる可能性があります。

bash シェルを使用すると、ユーザーは複数のプロセス (ジョブ) を同時に実行できます。その親プロセスは、使用しているシェルです。Google bash ジョブ制御の基本

組み込みの kill コマンドは、これらのジョブ パイプラインの 1 つにシグナルを送信するために使用されます。特定のシグナルが指定されていない場合は、SIGTERM が使用され、通常はジョブが終了 (強制終了) されるため、kill という名前が付けられています。ただし、任意のシグナルを指定することもできますが、その一部はプロセスをリセットしたり、強制終了しない動作を引き起こしたりする可能性があります。

最後に、%1 は、シグナルを送信するジョブを指定する方法の 1 つです (方法は多数あります)。%1 は、バックグラウンド ジョブのスタックの一番上にあるジョブを参照します。

答え2

たとえば、プロセスをバックグラウンドで実行すると、次のようになります。

# find / &
[1] ....

# ls -lr /usr &
[2] ....

ここで、バックグラウンドで実行され、現在のターミナルに接続されている 2 つのプロセスがあります。これを行うには、kill %1 を実行します。

上記の最初の「find」コマンドは終了します。Anders が説明したように、ターミナル上で現在実行中のバックグラウンド プロセスを一覧表示して、それらを強制終了することができます。

# jobs
[1] find / ...
[2] ls -lr ...

# kill %1

関連情報