この質問は好奇心から来ていますが、現在リモートシステムとSSHセッションがあり、次のコマンドを実行しているとします。
sudo systemctl stop ssh
実行後:
systemctl status ssh
サービスの状態を確認してみると、サービスが非アクティブ(非アクティブ)のようですが、まだリモートでコマンドを実行できるのはなぜですか。
もう一度申し上げますが、公式の質問ではありません。
時間をいただきありがとうございます
答え1
たとえば、SSHデーモンは接続時に少なくとも1回フォークされますsshd
。これ以降、接続ではなく別のプロセスによって接続が処理されます。これリスニングデーモン自体。
systemctl stop ssh
新しいSSH接続を確立できないようにリスニングデーモンを停止しました。分岐したプロセスが維持されるため、既存の接続も維持されます。
以下はサンプルスニペットですpstree -u
。
systemd-+-…
…
|-sshd---sshd---sshd(kamil)---bash---…
…
最初のものはsshd
rootとして実行されるデーモンです。 2番目は、まだroot権限を維持する分岐権限昇格プロセスです。三つ目は根の力を失い、それは私(上湯)のものだ。デーモンを停止(終了)しても他の2つには影響しません(例:テストしました)。