Cosa significa il |
simbolo in sudo ps -ef | grep processname
comando?
Qualcuno può anche spiegare questo comando? Ho usato questo comando solo per ottenere il PID e uccidere quel processo, ma ho anche visto sudo ps -ef | grep processname | grep -v grep
e ho l'impressione che -v grep
sia come uccidere il precedente PID generato per grep
. Se è così, come funziona?
ps -ef | grep '[p]rocessname'
grep [p]rocessname
, stai dicendo alla shell di cercare un file nella directory corrente con il nome processname
e di sostituire il modello con il nome di quel file. Se non processname
esiste alcun file denominato , la shell può passare letteralmente il modello a grep. Ma questo dipende dalle tue impostazioni. Così la versione si romperà se un file di nome processname
esiste o se una delle seguenti opzioni di shell è stato attivato failglob
, nullglob
, nocaseglob
.
sudo
correreps -ef
. Un altro trucco comune per evitare il terzo comando è racchiudere un carattere del nome del processo tra parentesi quadre:ps -ef | grep [p]rocessname