Ps çıktısını işlem başlangıç ​​zamanına göre nasıl sıralayabilirim?


Yanıtlar:


87

Bu Linux ve SysV5 üzerinde çalışması gerekir

ps -ef --sort=start_time

Bu tam olarak istendiği gibi çalışıyor, teşekkürler. Daha fazla kazı yaptıktan sonra, Mac OS'de biraz garip olmadan mümkün olacağından emin değilim
Dean Smith

1
start_time çalıştı. Başlamadı. RHEL
Felipe Alvarez

1
siparişi nasıl tersine çeviririm?
Phu Nguyen

2
@PhuNguyen partiye biraz geç kaldı, ama belki başka birinin bunun için bir faydası var. Çıkışı ileterek sırayı tersine çevirebilirsiniz tac.
Paul

1
@Stephane şunu deneyin:watch "ps -ef --sort=start_time | grep -v kworker | tail"
Sekenre

11

Linux:

$ ps aux --sort=lstart 

OSX:

$ ps aux -O started

2
Korkarım ki bu türlerden hiçbiri başlangıç ​​zamanı. Başlangıç ​​zamanını gösterir, ancak sıralama yapmaz.
Dean Smith

2
Lstart ve start_time arasındaki fark beni de yakaladı - lstarttam bir zaman damgası veriyor, ancak bir sıralama anahtarı olarak kullanılamaz. start_timenormal 'son 24 saat içindeki zamanı, aksi takdirde tarihi' sütununu verir ve bir sıralama anahtarı olarak kullanılabilir. Her ikisi de başlıkta 'BAŞLADI' ifadesini verir.
LHMathies

son bir saat içinde geçen süre: dün bir süreç dünden daha sonraki bir zamanda başlatıldıysa, bugünkü işlemden sonra ortaya çıkacaktır ... bir miktar "awk" değişmediği sürece sıralama ile kullanılamaz
Olivier Dulac

@ OliverDulac: benim için değil. 15/12 15:40önce görünen 16/12 15:39, tıpkı 13:39daha önce görünür 15:38.
Gauthier

1
Başlangıç ​​benim için işe yaramadı. start_time yaptı.
Felipe Alvarez

5

Yukarıdaki harika cevapların yanı sıra, bazen sadece zamana, işlem sırasına ve işlem sırasına göre azalan işlemlerle ilk 20 suçluyu görmek istiyorum.

Bunun için kullanıyorum:

ps auxww --sort=lstart | sort -r -k3,4 | head -20

Fedora'da da aynı sonuçları aldığım halde, bu bir CentOS platformunda olacaktı.

Oh ve sırıtışlar için, bazen bir dizi işlemi kaldırmak istiyorum, bu yüzden yukarıdaki gibi biraz grep -v eylemini içeren bir değişken kullanıyorum, örneğin:

ps auxww --sort=lstart | sort -r -k3,4 | grep -v "sbin/httpd" | head -20

--sortarasında psbenim için çalışmaz. Kabuğa güveniyor sort. +1
kellogs

3

Henüz yorum yapamam, ancak bir zaman aralığının sırasını nasıl tersine çevireceğine ilişkin soruyu yanıtlamak için -, alanın önüne eksi işareti ( ) koyun .
Örnek:ps -elf --sort=-start_time


2

Veya sıralanması kolay ve kullanımı daha kolay zaman biçimlerine izin verdiği için 'ls' komutunu deneyin.

( cd /proc; ls -td --full-time --time-style=+%s [0123456789]*; )

Tarih / saati en üstteki en yeni işlemlerden geçirir.


Bu sadece
Pids

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.