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.