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 psterminaliniz 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 $COLUMNSyukarı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 |pipegeçebileceklerini fark etmeliyim . Tabii ki insanlar tarafından daha çok beni kastediyorum .
-oIkış Yukarıda söz hangi sütunların filtreleme olanağı tanır operand psgörüntüler ve eklerken =ataması bile senin kadar sütunu lütfen adlandırabilirsiniz. Ben atamayı boş bırakın ve bir hedef -process teslim $pidböylece tek çıkış pshiç $pidkomut adı ve argsçağrısında olduğunu. Ve -oneyin psgö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=