Що означає |
символ у sudo ps -ef | grep processname
команді?
Чи може хто-небудь пояснити цю команду? Я використовував цю команду лише для отримання PID та вбивства цього процесу, але я також бачив, sudo ps -ef | grep processname | grep -v grep
і я перебуваю під враженням, яке -v grep
схоже на вбивство попереднього створеного PID для grep
. Якщо це так, як це працює?
ps -ef | grep '[p]rocessname'
grep [p]rocessname
, ви повідомляєте оболонці шукати файл у поточному каталозі з іменем processname
та замінювати шаблон на ім'я цього файлу. Якщо жодного файлу з іменем не processname
існує, оболонка може передавати шаблон буквально в режим грепінгу. Але це залежить від ваших налаштувань. Так що ваша версія зламається , якщо файл з ім'ям processname
існує , або якщо будь-який з наступних варіантів оболонки включений failglob
, nullglob
, nocaseglob
.
sudo
бігатиps -ef
. Також загальним трюком уникнути третьої команди є додавання символу імені процесу у квадратні дужки:ps -ef | grep [p]rocessname