2012-03-27 9 views

答えて

17

Greg's wiki

  • $!は、最後のバックグラウンドに、プロセスのPIDです。
  • kill -0 $PIDは、$PIDがまだ実行中かどうかを確認します。現在のプロセスまたはその子孫によって開始されたプロセスに対してのみこれを使用します。そうしないと、PIDがリサイクルされている可能性があります。
  • waitは、すべての子が終了してから続行するのを待ちます。

実際には、リンクを読むだけで - それはすべて(そしてもっと)です。

$$ is the PID of the current shell

はい、それぞれのシェルは独自のPIDを持っています(「新しい」シェルを作成するためにforkを持たない自家製のシェルでない限り)。

3

1)そのための変数は、多くの場合$$、あります:

[email protected]:~$ echo $$     # shell itself 
20559 
[email protected]:~$ bash -c 'echo $$'  # new shell with different PID 
19284 
[email protected]:~$ bash -c 'echo $$'  # dito 
19382 
[email protected]:~$ 

2)はい、彼らは、OS /カーネルがあなたのためにあることを行います。救助へ

+0

変数 '$$ 'の使い方は?最後に実行されたプログラムのPIDが含まれていますか? –

+0

私が与えた例を見てください。シェルの場合は、独自のPIDです。 –

+2

は 'bash'の' $! 'の最後のバックグラウンドプロセスのPIDです。 – dldnh

0

linux(Ubuntu)のトップコマンドは、Linuxで実行中のすべてのプログラムのメモリ使用量をpidとともに表示します。 kill pidはプロセスを終了させることができます。

関連する問題