Назад | Перейти на главную страницу

Нужна помощь в убийстве псевдо-терминалов

У меня есть веб-сервер ubuntu, который использует задание хронирования для подключения к стороннему sftp, извлекает файл и отключается. Это работало несколько недель и прекратилось.

Я попытался вручную ввести SSH в sftp со своего веб-сервера и получил следующую ошибку:

Ошибка запроса оболочки на канале 0

Это привело меня к https://stackoverflow.com/questions/27021641/how-to-fix-request-failed-on-channel-0

Это дало мне lsof / dev / pts / *, чтобы увидеть, какие у меня открытые файлы

sudo lsof /dev/pts/*
COMMAND  PID   USER       FD   TYPE DEVICE SIZE/OFF NODE NAME
bash    1513 ubuntu    0u   CHR  136,0      0t0    3 /dev/pts/0
bash    1513 ubuntu    1u   CHR  136,0      0t0    3 /dev/pts/0
bash    1513 ubuntu    2u   CHR  136,0      0t0    3 /dev/pts/0
bash    1513 ubuntu  255u   CHR  136,0      0t0    3 /dev/pts/0
sudo    1670   root    0u   CHR  136,0      0t0    3 /dev/pts/0
sudo    1670   root    1u   CHR  136,0      0t0    3 /dev/pts/0
sudo    1670   root    2u   CHR  136,0      0t0    3 /dev/pts/0
lsof    1671   root    0u   CHR  136,0      0t0    3 /dev/pts/0
lsof    1671   root    1u   CHR  136,0      0t0    3 /dev/pts/0
lsof    1671   root    2u   CHR  136,0      0t0    3 /dev/pts/0

Если я правильно это понимаю, у меня из моего скрипта открыто 255 экземпляров псевдо-терминала. Таким образом, если я не совсем ошибаюсь, у меня две проблемы. Во-первых, мне нужно закрыть их, чтобы мой код снова заработал, а во-вторых, мне нужно исправить мой код, чтобы он закрыл это должным образом.