16 我偶尔会失去与VPS的远程SSH连接。我screen用于长时间运行的进程,但我想知道screen如果我丢失了与盒子的连接,我在会话中运行的进程会发生什么。 当我重新建立与盒子的连接时,当我丢失连接时运行的bash和sshd进程发生了什么?今天我反复失去连接,注意到比平常更多的bash和sshd进程。 如果有进程闲置,我是否需要杀死它们?我怎样才能确定哪个进程在我之前的会话中被放弃了? 谢谢你的回复! linux unix bash ssh remote-access — 大卫大理石 source
8 通常,进程将在断开连接时终止,但旧的SSH会话可能正在等待超时,或者由于竞争条件而可能在退出时挂起。 您可能应该终止旧会话,尽管您不一定要这样做。ps aux在控制台上键入以列出进程,然后kill PID为每个挂起的ssh会话键入,其中PID是该会话的PID(进程ID)。旧的,挂起的会话应该具有比当前新会话更低的PID。 如果有一个长时间运行的进程,即使断开连接后您特别希望继续运行,也可以使用nohup为命令添加前缀: nohup badblocks -nvs /dev/sda & — 抢 source
0 当ssh会话终止时,关闭的伪tty将被关闭并重置。通常,shell和与该tty关联的其他进程被终止,因为它们是创建它的进程的子进程。如果周围有进程,也许它们已经背景了?是的,他们可能应该被杀死 - 清洁是在敬虔旁边。他们确实占用了一些资源 - 通常不多,但它可能会在一段时间后累积起来。 — 香农尼尔森 source