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