0

dockerd (例: 1628) を sudo で起動しているときに、sudo が別の PID (例: 1620) を取得する理由がわかりません。dockerd を停止するには、どの PID に SIGTERM を送信する必要がありますか?

ps aux | grep dockerd

ここに画像の説明を入力

pstree -ps

ここに画像の説明を入力

4

1 に答える 1

1

sudodockerd (例: 1628) を sudo で起動しているときに別の PID (例: 1620) を取得する理由がわかりません。

それが機能する方法ですsudo。子プロセスが終了した後に何かを行う必要があるため、子プロセスとしてコマンドを実行します。

子プロセスをフォークしないsudoように構成を微調整できる場合があります。sudo私のシステムでは、次のようにman sudo述べています。

「I/O ロギング プラグインがロードされておらず、ポリシー プラグインでclose()関数が定義されていない場合、コマンド タイムアウトを設定するか、コマンドを新しい pty で実行する必要があるsudo場合は、コマンドを子プロセスとして実行する代わりに直接実行することができます。 "

ただし、次のことに注意してください。

  • willではなくmayと書いてあり、
  • この「フォークなし」の動作を実現するために、必然的にいくつかの機能を犠牲にしています。

dockerd を停止するには、どの PID に SIGTERM を送信する必要がありますか?

プロセスにシグナルを送信すると、シグナルがsudoプロセスに中継され dockerdます。それがman sudo言うことです。man ページのシグナル処理に関するセクションを参照してください。

于 2022-01-31T00:17:09.243 に答える