Я иногда теряю свое удаленное соединение SSH моему VPS. Я использую screen
для продолжительных процессов, но задаюсь вопросом, что происходит с процессами, у меня было выполнение кроме выполненных в a screen
сессия, если я теряю соединение с полем.
Когда я восстанавливаю соединение с полем, что произошло с ударом и процессами sshd, которые работали, когда я потерял соединение? Сегодня я неоднократно терял соединение и замечал намного больше удара и процессов sshd чем обычно.
Если существуют бродящие вокруг процессы, я должен уничтожить их? Как я мог определить, от каких процессов отказались от моей предыдущей сессии?
Спасибо за любые ответы!
Обычно процессы завершатся после разъединения, но старые сессии SSH могли или ожидать к тайм-ауту, или они, возможно, зависли на выход, из-за состояния состязания.
Необходимо, вероятно, завершить старые сессии, хотя Вы не обязательно имеете к. Ввести ps aux
на консоли для списка процессов, затем kill PID
поскольку каждый подвесил ssh сессию, где PID является PID (идентификатор процесса) для той сессии. Более старые, подвешенные сессии должны иметь ниже PIDs, чем Ваша текущая, новая сессия.
Если существует продолжительный процесс, который Вы конкретно хотите продолжить выполнять даже после разъединения можно снабдить префиксом команду nohup:
nohup badblocks -nvs /dev/sda &
Когда ssh сессия умирает, связанный pseudo-tty закрывается и сбрасывается. Обычно оболочка и другие процессы, связанные, с которым уничтожаются tty, поскольку они - дочерние процессы процесса, который создал ее. Если существуют бродящие вокруг процессы, возможно, они были backgounded? Да, они должны, вероятно, быть уничтожены - чистота рядом с набожностью. Они поднимают некоторые ресурсы - не обычно очень, но это может сложить спустя некоторое время.