プログラムを実行し、そのPIDをLinuxで知る方法は?プログラムを実行し、そのPIDをLinuxで知る方法は?
私はいくつかのシェルをお互いに実行している場合、それらはすべて別々のPIDを持っていますか?
プログラムを実行し、そのPIDをLinuxで知る方法は?プログラムを実行し、そのPIDをLinuxで知る方法は?
私はいくつかのシェルをお互いに実行している場合、それらはすべて別々のPIDを持っていますか?
$!
は、最後のバックグラウンドに、プロセスのPIDです。kill -0 $PID
は、$PID
がまだ実行中かどうかを確認します。現在のプロセスまたはその子孫によって開始されたプロセスに対してのみこれを使用します。そうしないと、PIDがリサイクルされている可能性があります。wait
は、すべての子が終了してから続行するのを待ちます。実際には、リンクを読むだけで - それはすべて(そしてもっと)です。
$$
is the PID of the current shell。
はい、それぞれのシェルは独自のPIDを持っています(「新しい」シェルを作成するためにfork
を持たない自家製のシェルでない限り)。
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 /カーネルがあなたのためにあることを行います。救助へ
linux(Ubuntu)のトップコマンドは、Linuxで実行中のすべてのプログラムのメモリ使用量をpidとともに表示します。 kill pidはプロセスを終了させることができます。
変数 '$$ 'の使い方は?最後に実行されたプログラムのPIDが含まれていますか? –
私が与えた例を見てください。シェルの場合は、独自のPIDです。 –
は 'bash'の' $! 'の最後のバックグラウンドプロセスのPIDです。 – dldnh