GNU/Linux >> Belajar Linux >  >> Linux

Lebih elegan ps aux | grep -v grep

Gunakan pgrep. Ini lebih dapat diandalkan.


Teknik yang biasa adalah ini:

ps aux | egrep '[t]erminal'

Ini akan cocok dengan baris yang berisi terminal , yang egrep '[t]erminal' tidak! Ini juga berfungsi pada banyak rasa Unix.


Jawaban ini dibuat berdasarkan pgrep sebelumnya menjawab. Itu juga dibangun di atas jawaban lain yang menggabungkan penggunaan ps dengan pgrep . Berikut adalah beberapa contoh pelatihan terkait:

$ pgrep -lf sshd
1902 sshd

$ pgrep -f sshd
1902

$ ps up $(pgrep -f sshd)
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root      1902  0.0  0.1  82560  3580 ?        Ss   Oct20   0:00 /usr/sbin/sshd -D

$ ps up $(pgrep -f sshddd)
error: list of process IDs must follow p
[stderr output truncated]

$ ps up $(pgrep -f sshddd) 2>&-
[no output]

Di atas dapat digunakan sebagai fungsi :

$ psgrep() { ps up $(pgrep -f [email protected]) 2>&-; }

$ psgrep sshd
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root      1902  0.0  0.1  82560  3580 ?        Ss   Oct20   0:00 /usr/sbin/sshd -D

Bandingkan dengan menggunakan ps dengan grep . Baris tajuk yang berguna tidak dicetak:

$  ps aux | grep [s]shd
root      1902  0.0  0.1  82560  3580 ?        Ss   Oct20   0:00 /usr/sbin/sshd -D

Linux
  1. Grep:Memori Habis?

  2. Potong / Grep Dan Df -h?

  3. Grep Dan Ekor -f?

  1. Bagaimana cara menentukan lebih banyak ruang untuk pembatas menggunakan cut?

  2. arti keluaran ps aux

  3. kurang itu lebih? Apakah lebih sedikit? Aku begitu bingung

  1. Grep Rekursif Vs Temukan / -type F -exec Grep {}; Mana yang Lebih Efisien/Lebih Cepat?

  2. Grep -v Perilaku Tak Terduga?

  3. menonton output dari ps aux | grep bla di tmux tidak akan berfungsi?