Привет!
Ситуация такая - периодически приходится выполнять команды по ssh на нескольких хостах сразу, то есть я не захожу на каждый хост интерактивно, а использую конструкцию следующего вида (конечно, используется система управления, но пока это не важно, так что упрощаю):
ssh username@hostname command
Все предусмотреть нереально, и по-этому периодически встречаю ситуацию, когда моя команда повисает - может потребоваться интерактивность в определенном случае, могут быть проблемы с аргументами и т.д. Самый простой пример:
ssh localhost 'grep test'
Можно прибить ssh, но как понять что нужно команде по информации на хосте? Найдя этот процесс в /proc можно посмотреть, что он «спит», при попытке посмотреть его файловые дескрипторы я вижу что-то вроде
$ ls -l
total 0
lr-x------ 1 username username 64 Aug 18 11:08 0 -> pipe:[10856516]
l-wx------ 1 username username 64 Aug 18 11:08 1 -> pipe:[10856517]
l-wx------ 1 username username 64 Aug 18 11:08 2 -> pipe:[10856518]
Иногда команда (прежде чем ожидать получения чего-то от пользователя) выводит что-то на экран, как получить эти данные мне тоже не понятно.
В общем жду рекомендаций о том, как понять что нужно процессу, желательно без установки дополнительного софта (средствами ОС). Заранее спасибо!