Убить все задачи с PID выше определенного целого числа с помощью bash

391
Aleksander Azizi

Как я могу получить и уничтожить все процессы с PID выше, например, 1000?

Использование команд вроде ps -Aи topхорошо для просмотра списка процессов, но как получить только PID?

Логика сравнения чисел и убийства задач на самом деле не проблема. Просто в вопросе, чтобы описать то, что я хочу сделать более четко.

1

2 ответа на вопрос

1
BlueBerry - Vignesh4303

Вы можете использовать эту команду:

ps -ef | grep "your_process" | awk '' | grep -v 'grep' | XARGS убивают

Примечание: "Your_process" будет вашим "PID"

Остальное:

ps -ef | grep "your_process" | awk '' | XARGS убивают

стоило бы попробовать

Я думаю, вы неправильно поняли вопрос. Указывать на конкретный процесс не то, что нужно в этом сценарии. Чтобы быть конкретным, желаемый результат заключается в получении PID всех запущенных процессов. Aleksander Azizi 9 лет назад 0
1
Paul Richter
ps | tr -s ' ' | cut -d ' ' -f 2 

даст вам список PID. cutзанимает второе поле вывода, разделенное пробелами, но перед этим мы используем, trчтобы выжать несколько пробелов. Затем вы можете передать это через

egrep '\d\d*' 

чтобы выбрать все числа свыше 1000. Тогда вы, вероятно, можете отправить его в xarg для убийства.

1000 - это просто, но для произвольного числа, такого как 32768, вам может понадобиться что-то вроде sedфильтрации.