Пропустить флаги для xargs

Я хочу убить кучу процессов, используя эту команду:

sudo ps ax | grep node | awk '{print $1}' | xargs kill 

Но это дает мне операцию, которую нельзя разрешить даже с судо.

Затем я попытался с kill -9 индивидуально для каждого процесса, и он сработал.

Теперь мой вопрос: как я могу передать флаг -9 для уничтожения через xargs?

Пустота xargs kill -9 или xargs -9 kill работали для меня.

  • Переформатирование большого количества XML-файлов
  • xargs и <и> в те же файлы
  • Как заставить «xargs» игнорировать выход ребенка и продолжить обработку
  • Предоставлять строки, хранящиеся в файле, в виде списка аргументов для команды?
  • Почему xargs -I подразумевает -L 1
  • Как подключить вывод поиска к другому вызову find
  • отобразить результаты поиска
  • Добавить суффикс ко всем файлам без определенного расширения и сохранить расширение файла
  • 2 Solutions collect form web for “Пропустить флаги для xargs”

    Только первая команда в этом конвейере ( ps ax ) запускается как root. Остальная часть строки (включая команду kill ) запускается как ваш обычный пользователь без полномочий root.

    Чтобы запустить kill как root, вам нужно запустить его следующим образом:

     ps ax | grep node | awk '{print $1}' | sudo xargs kill -9 

    или

     ps ax | grep node | awk '{print $1}' | xargs sudo kill -9 

    альтернативно, если у вас установлен pkill , вы можете запустить:

     sudo pkill -9 node 

    Вам нужно sudo на убийстве.

    ps ax | grep node | awk '{print $1}' | xargs sudo kill -9

    Linux и Unix - лучшая ОС в мире.