Вопрос: Как сортировать вывод ps по времени начала процесса?


Есть ли способ отсортировать вывод ps по времени начала процесса, так что новейшие находятся либо сверху, либо снизу?

В Linux?

На SysV5?

На Mac?


52
2018-06-18 09:16


Источник




Ответы:


Это должно работать на Linux и SysV5

ps -ef --sort=start_time

72
2018-06-18 09:28



Спасибо, спасибо. После большего копания я не уверен, что это возможно на Mac OS без немного awk - Dean Smith
start_time работал. lstart не сделал. RHEL - Felipe Alvarez
ps aux --sort=start_time команда отлично работает - Suresh Mahawar
как мне изменить порядок? - Phu Nguyen
@PhuNguyen немного опоздал на вечеринку, но, возможно, у кого-то еще есть возможность для этого. Вы можете отменить порядок, пропуская вывод через tac, - Paul


Linux:

$ ps aux --sort=lstart 

OSX:

$ ps aux -O started

11
2018-06-18 09:21



Я не боюсь ни того, ни другого. Он показывает время начала, но не сортирует. - Dean Smith
Разница между lstart и start_time тоже меня поймала - lstart дает полную метку времени, но не может использоваться в качестве ключа сортировки. start_time дает обычное «время в течение последних 24 часов, дата в противном случае» и может использоваться как ключ сортировки. Оба дают «НАЧАЛО» в заголовке. - LHMathies
время в течение последнего часа: если процесс был запущен вчера в тот же день позже сегодняшнего дня, он появится после сегодняшнего процесса ... не может использоваться по своему усмотрению, если только бит awk не изменится, - Olivier Dulac
@OlivierDulac: не для меня. 15/12 15:40 появляется перед 16/12 15:39, как только 13:39 появляется перед 15:38, - Gauthier
lstart не работал для меня. start_time сделал. - Felipe Alvarez


Наряду с замечательными ответами выше, иногда я просто хочу увидеть 20 лучших правонарушителей, отсортированные по времени, cpu% и использование памяти.

Для этого я использую:

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

Это было бы на платформе CentOS, хотя я тоже получал те же результаты от Fedora.

О, и для усмешек я иногда хочу удалить набор процессов, поэтому я просто использую вариант выше, который включает в себя немного действия grep -v, например:

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

4
2018-04-28 17:16



--sort из ps не работает для меня. Опираясь на оболочку sort, +1 - kellogs


Я еще не могу прокомментировать, но чтобы ответить на вопрос о том, как изменить порядок сортировки во времени, просто поместите знак минус (-) перед полем.
Пример: ps -elf --sort=-start_time


3
2017-11-29 17:10





Или попробуйте 'ls', поскольку он позволяет форматы времени, которые легко сортировать, и проще в использовании.

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

Выводит дату / время в эпоху, новейшие procs вверху.


2
2017-07-03 02:23





Попробуйте простую команду:

ps | sort -k7 -n

-k7 для столбца времени и -n для числовых.

пример


0
2018-03-13 17:11