1

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

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

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

2 ответа2

1

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

ps -ef | grep "your_process" | awk '{print $ 2}' | grep -v 'grep' | XARGS убивают

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

Остальное:

ps -ef | grep "your_process" | awk '{print $ 2}' | XARGS убивают

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

1
ps | tr -s ' ' | cut -d ' ' -f 2

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

egrep '\d{4}\d*'

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .