pgrep
suporta várias condições:
pgrep -x -u "user" "command"
Substitua -x
por -f
para também corresponder aos argumentos; adicione -l
para exibir a linha de comando.
Você também pode ler a linha de comando diretamente de /proc/PID/cmdline
(null-separated):
if pids=$(pgrep -x -u "user" "command"); then
for pid in $pids; do
tr "pgrep -x -u "user" "command"
" " " < /proc/$pid/cmdline; echo
done
fi