pidofに代わるものはありますか? (より小さな設置スペース)

pidofに代わるものはありますか? (より小さな設置スペース)

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

おすすめ記事