pidof
まあ、私はinが広く使われていました。間隔が非常に短いです。、一見小さなツールも素晴らしいツールになることができますCPU使用量。 (出典top
:)
私の既存のコンピュータでは短い時間ですが、特に一括使用時に簡単に30%で頂点に達することができましたが、プロセスのPIDを見つけるなどの簡単な作業の場合、このようなツールが必要になると思います。便利です。占有スペースはそのスペースの1/5でなければなりませんpidof
。
そのため、組み込みの標準ツールを使用してプロセスID照会を「構築」する方が賢明かどうか疑問に思います。もしそしてフルパイプライン実行によるCPU負荷は一定に保たれます。次のような独立運転による負荷pidof
。
また、知っておくと面白いでしょう。何これらのピークが発生しました。たぶんあなたの誰かがpidof
コードを深く掘り下げましたか? :)
答え1
以下は、「apache2」というプロセスのpidを見つけるいくつかの例です。それらの間には若干の違いがありますが(出力の改行)、pidof
パイプなどでは同じように動作しなければなりません。
使用pidof
:
$ pidof apache2
31751 31750 31749 31748 31747 31489 31488 31487 31486 31485 1500
改行区分:
$ ps aux | grep apache2 | grep -v grep | awk -n '{print $2}'
1500
31485
31486
31487
31488
31489
31747
31748
31749
31750
31751
スペースで区切られた:
$ ps aux | grep apache2 | grep -v grep | awk -n '{printf $2" "}'
1500 31485 31486 31487 31488 31489 31747 31748 31749 31750 31751
上記のコマンドに愚かなタイミングを適用しました。
$ date +%T:%N; pidof apache2 ; date +%T:%N
17:06:05:627088798
31751 31750 31749 31748 31747 31489 31488 31487 31486 31485 1500
17:06:05:634500908
$ date +%T:%N; ps aux | grep apache2 | grep -v grep | awk -n '{printf $2" "}' ; date +%T:%N
17:06:29:887314682
1500 31485 31486 31487 31488 31489 31747 31748 31749 31750 31751
17:06:29:903997288
pidof:7,412,110ナノ秒
添付ファイル:|クエリ:16,682,606ナノ秒
マイ コンピューターでは、期待pidof
どおりに高速に読み込まれます。
の出力はpidof
逆順にソートされているように見えるので、これが私が好む代替注文になります。
$ ps aux | grep apache2 | grep -v grep | awk -n '{print $2}' | sort -rn
31751
31750
31749
31748
31747
31489
31488
31487
31486
31485
1500
答え2
pidof
30%上昇がおかしいことに同意します。しかし、これが単に一時的な急増であれば悪いのでしょうか?
または.exampleを使用できますps(1)
。
$ ps ax | grep firefox
8621 ?? S 5:20.24 firefox
10409 p3 R+ 0:00.00 grep firefox
答え3
プロセス(pgrep、pkillなど)を管理する一連のコマンドがあるため、最良の方法は次のとおりです(macOSXの場合)。
$ ps -ef | pgrep login
102
103
6245
6361
...または逆の順序で:
$ ps -ef | pgrep login | sort -rn
6361
6245
103
102
...または最後のもの:
$ ps -ef | pgrep login | sort -rn | head -n 1
6361