Что |символ означает в 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