Что |
символ означает в 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
существует, оболочка может передать шаблон буквально в grep. Но это зависит от ваших настроек. Так что ваша версия сломается , если файл с именем processname
существует , или если любой из следующих вариантов оболочки включен failglob
, nullglob
, nocaseglob
.
sudo
бежатьps -ef
. Также обычная хитрость, чтобы избежать третьей команды, заключает в себе символ имени процесса в квадратных скобках:ps -ef | grep [p]rocessname