O que o |
símbolo significa em sudo ps -ef | grep processname
comando?
Alguém também pode explicar este comando? Eu usei esse comando apenas para obter o PID e matar esse processo, mas também vi sudo ps -ef | grep processname | grep -v grep
e tenho a impressão de que -v grep
é como matar o PID gerado anteriormente grep
. Se é assim, como funciona?
ps -ef | grep '[p]rocessname'
grep [p]rocessname
, está dizendo ao shell para procurar um arquivo no diretório atual com o nome processname
e substituir o padrão pelo nome do arquivo. Se nenhum arquivo nomeado processname
existir, o shell poderá passar o padrão literalmente para grep. Mas isso depende das suas configurações. Então a sua versão vai quebrar se um arquivo nomeado processname
existe ou se qualquer uma das seguintes opções do shell tiver sido habilitado failglob
, nullglob
, nocaseglob
.
sudo
correrps -ef
. Também um truque comum para evitar o terceiro comando é colocar um caractere do nome do processo entre colchetes:ps -ef | grep [p]rocessname