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
lstartmemberikan stempel waktu penuh, tetapi tidak dapat digunakan sebagai kunci pengurutan. start_timememberikan kolom 'waktu biasa dalam 24 jam terakhir, tanggal jika tidak', dan dapat digunakan sebagai kunci pengurutan. Keduanya memberikan 'MULAI' di header.
15/12 15:40muncul sebelumnya 16/12 15:39, sama seperti yang 13:39muncul 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
--sortdari pstidak bekerja untuk saya. Mengandalkan shell sort. +1