Você pode experimentar este:
top -p "$(pidof <process_name> | awk 'OFS="," { $1 = $1; print; }')"
Combino o comando top
e pidof
:
top -p $(pidof <process_name>)
Se o comando pidof <process_name>
retornar um id top
funcione. Mas se o comando pidof <process_name>
mais de um ids top
não funcionar.
pidof
retorna ids com um espaço entre eles, como: 123 124 125
Se eu conseguir esses IDs com vírgula, como o comando 123, 124, 125
top
funcionará. Como posso alterar o formato de saída de pidof
?
Eu sei que awk
foi usado para formatar dados de texto. Mas eu não consigo encontrar como posso usar awk
para o resultado do comando shell.
Usando bash
:
top -p "$(pname="$(pidof <process_name>)"; echo "${pname// /,}")"
Usando tr
:
top -p "$(pidof <process_name> | tr ' ' ',')"
Usando sed
:
top -p "$(pidof <process_name> | sed 's/ /,/g')"
Tente este usando awk
:
top -p $(pidof <process_name>|awk '{gsub(/ /, ","); print }')