Ayrıca ps
çıktıyı biraz daha iyi işleyebilirsiniz .
ps --width ${n:-$COLUMNS} ${opts} #set ps terminal width
ps -ww ${opts} #no word wrap
ps -o ${only_interesting_output} ${opts} #trim output
Bu ps
, çıktısını şartnamelerinize göre ayrıştırmayı söyleyecektir .
Tabii ki, eğer sözcük kaydırma yapmazsanız, o zaman bilgi eksik probleminiz var. Tüm süreçler için gerçekten hepsine ihtiyacınız var mı? Öyleyse bir çağrı cihazında açın:
ps ww ${opts} | $PAGER
Değilse, görmek istediğinizi belirtin:
ps -o args= -p $pid
Alternatif olarak ps
terminaliniz hakkında açıkça bilgi verebilirsiniz --width
:
man ps
...
w
Geniş çıktı. Sınırsız genişlik için bu seçeneği iki kez kullanın.
-w
Geniş çıktı. Sınırsız genişlik için bu seçeneği iki kez kullanın.
--width n
Ekran genişliğini ayarlayın.
Bu --width
şey, herhangi bir ek filtre veya yardımcı işlem gerektirmeksizin tam olarak talep ettiğiniz özelliklere göre çalışır (bu muhtemelen -aux
çıktınızı daha da fazla karmaşıklaştıracaktır ). Ve $COLUMNS
yukarıda gösterildiği gibi ve Stephane'nin işaret ettiği gibi, dinamik olarak bile çalışacaktır.
Yine de, insanların genellikle bu tür gereksiz filtreleri eklemeye çalıştıklarını, böylece gereksiz olması muhtemel olan çıktıyı ayrıştırmak için başka bir filtreden |pipe
geçebileceklerini fark etmeliyim . Tabii ki insanlar tarafından daha çok beni kastediyorum .
-o
Ikış Yukarıda söz hangi sütunların filtreleme olanağı tanır operand ps
görüntüler ve eklerken =
ataması bile senin kadar sütunu lütfen adlandırabilirsiniz. Ben atamayı boş bırakın ve bir hedef -p
rocess teslim $pid
böylece tek çıkış ps
hiç $pid
komut adı ve args
çağrısında olduğunu. Ve -o
neyin ps
gösterileceğini veya gösterilmeyeceğini nasıl tanımlayabileceğinizin yüzeyini neredeyse çizmez . Bu, özellikle almanızı tavsiye ederim yönü:
man ps
...
BSD sözdizimini kullanarak sistemdeki her işlemi görmek için:
ps ax
ps axu
İşlem ağacı yazdırmak için:
ps -ejH
ps axjf
Konular hakkında bilgi almak için:
ps -eLf
ps axms
Güvenlik bilgisi almak için:
ps -eo euser,ruser,suser,fuser,f,comm,label
ps axZ
ps -eM
Kullanıcı biçiminde kök (gerçek ve etkili kimlik) olarak çalışan her işlemi görmek için:
ps -U root -u root u
Her işlemi kullanıcı tanımlı bir biçimde görmek için:
ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm
ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
ps -Ao pid,tt,user,fname,tmout,f,wchan
Yalnızca syslogd işlem kimliklerini yazdırın:
ps -C syslogd -o pid=
Yalnızca PID 42'nin adını yazdırın:
ps -p 42 -o comm=