Что происходит с процессом в экземпляре EC2, когда я получаю сообщение об ошибке «Broken Pipe» на ssh?

Я использую некоторые экземпляры EC2 для выполнения некоторых крупных заданий, которые я не могу выполнять локально. Проблема, которую я вижу, заключается в том, что через некоторое время (X часов с момента запуска процесса) мое соединение в моей оболочке дает мне ошибку сломанного канала.

ubuntu@ip-10-122-xxx-xxx:~/stratto/ode$ Write failed: Broken pipe

Экземпляр все еще там, потому что я могу переподключиться без проблем, но как я могу переподключиться и вернуться к просмотру журналов процесса, как до «Сломанной трубы».

Любая подсказка высоко ценится, спасибо!


person JordanBelf    schedule 19.12.2012    source источник
comment
Перенаправьте свой вывод в файл (или используйте tee), а затем запустите программу nohup..., чтобы гарантировать, что отключение не убьет его. Кстати, я не назвал это ответом, так как на самом деле это не вопрос программирования :)   -  person DrC    schedule 19.12.2012
comment
Спасибо за оба предложения, я не знал о tee или nohup, поэтому я узнаю о них и реализую. Как вы думаете, вопрос не подходит для SO? Могу ли я переместить его?   -  person JordanBelf    schedule 19.12.2012
comment
Я думаю, что это, вероятно, не совсем ТАКОЙ материал, но я тоже здесь новичок. Я не знаю, как и куда его переместить.   -  person DrC    schedule 19.12.2012
comment
Да я тоже мало что умею. Давайте посмотрим, что чувствуют другие. В любом случае спасибо за вашу помощь. Я думаю, вы должны опубликовать это как ответ.   -  person JordanBelf    schedule 19.12.2012


Ответы (3)


Перенаправьте свой вывод в файл, а затем запустите программу "nohup...", чтобы гарантировать, что отключение не убьет его. Используйте «tail -f» для мониторинга перенаправленного файла.

Примечание. Первоначально было сказано использовать «тройник», но это не сработает. Я думаю, что прямой редирект, а затем хвост на файле работает.

person DrC    schedule 19.12.2012
comment
Спасибо! спасибо также за исправление, я начинал свой тест с тройника - person JordanBelf; 19.12.2012

Вы можете использовать экран для запуска процессов в облаке, даже если вы не подключены к серверу.

sudo apt install screen

Чтобы конкретно решить проблему, описанную в исходном сообщении (например, подключение к экземплярам AWS EC2), я привел базовый пример и более расширенный пример использования screen.

person Sam Murphy    schedule 15.05.2019

Вы можете использовать "screen". Отсоединитесь от него и пропингуйте google.com. Таким образом, сеанс ssh будет активен во время установки.

person zawhtut    schedule 01.06.2020