Apakah ada cara untuk mengurutkan output ps berdasarkan waktu mulai proses, sehingga yang terbaru ada di bagian atas atau bawah?
Di Linux?
Di SysV5?
Di Mac?
Apakah ada cara untuk mengurutkan output ps berdasarkan waktu mulai proses, sehingga yang terbaru ada di bagian atas atau bawah?
Di Linux?
Di SysV5?
Di Mac?
Jawaban:
Ini harus bekerja di Linux dan SysV5
ps -ef --sort=start_time
tac
.
watch "ps -ef --sort=start_time | grep -v kworker | tail"
Linux:
$ ps aux --sort=lstart
OSX:
$ ps aux -O started
lstart
memberikan stempel waktu penuh, tetapi tidak dapat digunakan sebagai kunci pengurutan. start_time
memberikan kolom 'waktu biasa dalam 24 jam terakhir, tanggal jika tidak', dan dapat digunakan sebagai kunci pengurutan. Keduanya memberikan 'MULAI' di header.
15/12 15:40
muncul sebelumnya 16/12 15:39
, sama seperti yang 13:39
muncul sebelumnya 15:38
.
Seiring dengan jawaban hebat di atas, kadang-kadang saya hanya ingin melihat 20 pelaku teratas dengan proses diurutkan menurun berdasarkan waktu, cpu% dan penggunaan memori.
Untuk itu saya gunakan:
ps auxww --sort=lstart | sort -r -k3,4 | head -20
Ini akan berada pada platform CentOS, meskipun saya juga menikmati hasil yang sama di Fedora.
Oh dan nyengir, kadang-kadang saya ingin menghapus satu set proses, jadi saya hanya menggunakan varian di atas yang mencakup sedikit tindakan grep -v, seperti:
ps auxww --sort=lstart | sort -r -k3,4 | grep -v "sbin/httpd" | head -20
--sort
dari ps
tidak bekerja untuk saya. Mengandalkan shell sort
. +1