Linux Cento 6.64
Estou usando o seguinte comando para exibir htop na coluna de comando
comando htop -u
Como faço para mostrar apenas um comando específico que eu escolho na lista de comandos em execução?
Obrigado
Responder1
No htop -u
parâmetro há um nome de usuário, não um comando.
A única opção para monitorar um comando específico é -p
, mas isso requer um PID, portanto, o nome do comando deve ser convertido primeiro em um PID, o que pidof
servirá.
Se mais de uma instância de um comando estiver em execução, pidof
retorna uma lista de PIDs separados por espaço, mas a -p
opção usa uma lista separada por vírgula, portanto a pidof
saída deve ser convertida:
htop -p $(pidof command | sed 's/ /,/g')
É melhor incorporar isso em uma função ou script; nesse caso, o comando será:
htop -p $(pidof "$1" | sed 's/ /,/g')
Embora eu pense primeiro sed
na edição em lote, neste caso o tr
comando mais simples poderia ser usado:
htop -p $(pidof "$1" | tr ' ' ',')
Observe que os monitores do sistema GUI, como qps
e ksysguard
, podem filtrar a saída e mostrar comandos específicos diretamente (embora o filtro baseado em texto também possa selecionar o nome do comando se ele aparecer na lista de parâmetros de outro comando).