Как узнать причину, по которой висят процессы ssh?

Когда я запускаю команду, такую ​​как iostat -dkx 2 2 через ssh, я получаю ожидаемый результат, но процессы на локальном компьютере говорят в состоянии «прерывистый сон». Почему это происходит? Есть ли способ узнать причину такого поведения?

полная команда:

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

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 -p 11893 Process 11893 attached - interrupt to quit select(8, [5], [], NULL, NULL^C <unfinished ...> 

WCHAN:

 $ cat /proc/11893/wchan poll_schedule_timeout 

трассировки стека:

 $ 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 

  • Вставка некоторого текста с вкладками в документ здесь в окне PuTTY
  • Запустите команду в sudo через SSH
  • ssh в папку
  • SSH прерывается с перерывами
  • Экспедирование Kerberos в SSSD
  • Как заставить терминатор отображать удаленное имя хоста в строке заголовка?
  • Почему можно оставить CHROOT с помощью этой конфигурации sftp?
  • Как заставить SSH игнорировать некоторые пользовательские логины?
  • 2 Solutions collect form web for “Как узнать причину, по которой висят процессы ssh?”

    Кажется, нет ничего плохого. Процесс, на который вы смотрите (ssh), просто нечего делать в тот момент, когда вы принимаете его статус процесса.

    Пока нет выхода из команды удаленного запуска, блоки «select», и процесс отправляется в режим сна.

    У вас есть ControlMaster в вашей конфигурации ( ~/.ssh/config )? Если вы это сделаете, процесс ssh не сможет выйти, если это главное соединение для другого соединения. Если это проблема, она не связана с запуском iostat , соединение, которое остается открытым, является первым, которое вы делаете на этом конкретном сервере, пока соединение уже не активировано.

    Linux и Unix - лучшая ОС в мире.