dropbear
SSHサーバーとして実行されるLinuxシステムがあります。クライアントからそのコンピュータへの多くのSSHセッションを開き、そのセッションがアクティブな間、サーバーコンピュータのDCNポートからイーサネットケーブルを切断して、SSH経由でサーバーにアクセスできなくなりました。ただし、以前にサーバーで作成されたSSHプロセスは、ps
コンピュータを再起動するまでシステムの周囲にとどまり、コマンドなどに表示されました(メモリリークが発生しました)。上記と同じ状況で再起動せずに自動的にクリーンアップし、これらのプロセスを削除する方法はありますか?
答え1
これは他の人に役立ちます。私はdropbearの起動スクリプトに-K SECONDSフラグを追加することでこの問題を解決しました。このようにして3回の試行(約1分)後、dropbearは切断された接続を放棄し、サーバー側の接続プロセスを終了します。詳しくはこちらをご覧ください。ドロップベアのマニュアルページ
答え2
2つのオプション:
- あなたできるこのプロセスを終了します。 PIDがある場合は、この
kill
プログラム(rootとして実行する必要があるかもしれません)を使用して終了してください。 - 先ほどケーブルを抜いたので、これらのプロセスは接続のリモート側からデータを受信しなくなりました。しばらくすると、彼らはこれに気づき、自分で死ぬでしょう。所要時間は設定可能なパラメータによって異なりますが、デフォルトでは約2時間かかります。