Xargs - это очень полезная команда Linux, которая позволяет автоматически создавать и запускать другие команды. Это отличный инструмент для создания команд выполнения из стандартного ввода. По сути, она использует собственные аргументы командной строки в качестве аргументов для создаваемой команды. В этой статье мы узнаем, как создать команду xargs kill process.
Команда Xargs для уничтожения процесса
Xargs имеет несколько сложный синтаксис, поэтому мы построим команду пошагово.
Сначала нам понадобятся PIDs процессов, которые нужно убить. Для этого мы воспользуемся командой ps aux.
1 | ps aux |
Результат
1 2 3 4 | USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1234 0.0 0.3 225280 7764 ? Ss Jun06 0:15 /sbin/firefox root 2 0.0 0.0 0 0 ? S Jun06 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? I< Jun06 0:00 [rcu_gp] |
Приведенная выше команда содержит подробную информацию обо всех процессах, запущенных в нашей системе. Если вы хотите уничтожить только определенные процессы, информация о которых (PID, имя пользователя, команда, дата запуска и т.д.) содержит определенные ключевые слова, передайте вышеприведенный вывод команде grep с помощью piping (|).
1 | ps aux | grep [ключевое слово] |
Пример
1 2 3 | ps aux | grep firefox USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1234 0.0 0.3 225280 7764 ? Ss Jun06 0:15 /sbin/firefox |
Приведенная выше команда выведет список только тех процессов, информация о которых соответствует вашему ключевому слову. Второй столбец вывода команды grep содержит PID каждого процесса. Поэтому мы будем использовать команду awk для извлечения этого столбца для каждой строки, передав команде awk вывод команды about.
1 | ps aux | grep keyword | awk '{print $2}' |
Пример
1 | 1234 |
Получив PID процессов, которые вы хотите убить, вы можете передать их команде xargs. В команде xargs мы будем использовать команду kill -9 для завершения процессов.
1 | ps aux | grep keyword | awk '{print $2}' | xargs kill -9 |
Теперь xargs создаст отдельные команды kill для каждого PID и выполнит их по очереди.
1 | kill -9 1234 |
В качестве альтернативы вы можете передать список PID непосредственно команде kill, как показано ниже.
1 | kill -9 $(ps aux | grep KeyWordHere | awk '{print $2}') |
В этой статье мы узнали, как использовать команду Xargs для уничтожения процесса.