GREP для процессов по каталогам и убить его

Я пытаюсь grep для процессов, которые происходят из каталога / Applications / (чтобы их убить), но моя команда grep продолжает ловить некоторые ложные. Что я здесь делаю неправильно?

 $ ps -ef | grep -e '/Applications/' | grep -v grep | awk '{print $8}' /Library/Application I DON'T WANT THIS /Library/Application I DON'T WANT THIS /Applications/Firefox.app/Contents/MacOS/firefox /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal /Applications/Notes.app/Contents/MacOS/Notes 

3 Solutions collect form web for “GREP для процессов по каталогам и убить его”

Попробуйте включить пробел в свой шаблон:

 ... grep -e ' /Applications/' ... 

Кроме того, pkill (долгое стандартное предложение в Linux) теперь включен в OS X Mountain Lion (10.8) и выше. См. http://osxdaily.com/2012/10/18/kill-process-wildcards-pkill-mac-os-x/

Используйте символ anchor ^ (символ каретки), чтобы обозначить начало строки / поля и изменить порядок команд:

  ps -ef | grep -v grep | awk '{print $8}' | grep "^/Applications" 

Таким образом, grep будет работать последним и вернет линии, начинающиеся с /Applications .

Это также полезно.

Если вы беспокоитесь о сохранении тиков ЦП:

 ps -ef | awk '$8~"^/Applications/"{print $8}' 
  • Как смотреть pgrep?
  • Что такое «лидеры сессий» в `ps`?
  • dbus-запуск и dbus-демон - что происходит
  • Как определить, какая среда рабочего стола установлена ​​из оболочки?
  • Как узнать команду, выполняемую процессом?
  • Можно ли добавить описание к виртуальным машинам qemu?
  • Один экземпляр скрипта, но только с одинаковыми аргументами
  • увеличение ширины столбца ps -o
  • netstat: см. имя процесса, например, в `ps aux`
  • Использование «ps -C java -o pid, user, cmd» Можно ли уменьшить вывод cmd?
  • Использование регулярного выражения для проверки того, работает ли процесс UNIX
  • Linux и Unix - лучшая ОС в мире.