Como descobrir o motivo pelo qual os processos do ssh estão pendentes?

4

Quando eu executo o comando como iostat -dkx 2 2 via ssh, obtenho o resultado esperado, mas os processos no computador local estão dizendo vivo em status "suspensão interrompível". Por que isso está acontecendo? Existe uma maneira de descobrir a razão desse comportamento?

comando completo:

$ ssh -o ConnectTimeout=4 -o ChallengeResponseAuthentication=no -o PasswordAuthentication=no <user>@host> iostat -dkx 2 2

saída de ps:

$ ps aux | grep 11893 && ps aux | grep PID
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
1000       10273  0.0  0.0 103280   904 pts/0    S+   12:09   0:00 grep PID
1000       11893  0.0  0.0 158732  3892 ?        S    Feb17   0:00 ssh -o ConnectTimeout=4 -o ChallengeResponseAuthentication=no -o PasswordAuthentication=no <user>@<host> iostat -dkx 2 2
1000       10285  0.0  0.0 103280   904 pts/0    S+   12:09   0:00 grep 11893

strace:

$ strace -p 11893
Process 11893 attached - interrupt to quit
select(8, [5], [], NULL, NULL^C <unfinished ...>

wchan:

$ cat /proc/11893/wchan 
poll_schedule_timeout

stacktrace:

$ cat /proc/11893/stack 
[] poll_schedule_timeout+0x39/0x60
[] do_select+0x6bb/0x7c0
[] core_sys_select+0x18a/0x2c0
[] sys_select+0x47/0x110
[] system_call_fastpath+0x16/0x1b
[] 0xffffffffffffffff
    
por Ivan Denisovich 19.02.2016 / 12:30

2 respostas

2

Parece não haver nada errado. O processo que você está olhando (ssh) simplesmente não tem nada para fazer no momento em que você está tomando o status do processo.

Contanto que não haja saída do comando iniciado remotamente, o "select" bloqueia e o processo é enviado para suspensão.

    
por 19.02.2016 / 12:46
0

Você tem ControlMaster em sua configuração ( ~/.ssh/config ) por acaso? Se você fizer isso, o processo ssh não poderá sair se for a conexão principal de outra conexão. Se esse é o problema, ele não está relacionado à execução de iostat , a conexão que permanece aberta é a primeira que você faz nesse servidor específico enquanto nenhuma conexão já está ativa.

    
por 20.02.2016 / 00:14