Como posso consertar um problema com erro padrão estragando a saída do relógio?

1

Especificamente, estou tentando executar o seguinte comando no CentOS e no Fedora14 (mesmo problema com ambos)

watch sudo jmap -heap 31945

No entanto, existem algumas linhas de erro padrão que estragam a saída após o jmap ser chamado mais de uma vez:

Attaching to process ID 31945, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 14.2-b01

Estas linhas são removidas se eu executar:

sudo jmap -heap 31945 2> /dev/null

No entanto, se eu tentar:

watch sudo jmap -heap 31945 2> /dev/null

então muitas linhas são removidas (muitas linhas da saída real são removidas).

Por que isso está acontecendo? Existe uma maneira de corrigir isso?

    
por jonderry 28.04.2011 / 21:52

1 resposta

3

O que você quer fazer é dizer a watch que o comando que está sendo executado deve ter sua saída redirecionada; o que você fez foi redirecionar a saída do watch .

Tente isto: watch 'sudo jmap -heap 31945 2> /dev/null'

Observe as novas aspas - isso está dizendo watch que a coisa toda é o comando, não apenas a sudo jmap -heap 31945 parte, e assim watch ainda é capaz de usar o erro padrão em si (que eu suspeito que seja o causa de suas linhas "perdidas" de saída).

    
por 28.04.2011 / 22:00

Tags