【发布时间】:2022-01-31 00:02:17
【问题描述】:
我不明白为什么在使用 sudo 启动 dockerd(例如 1628)时 sudo 会获得一个单独的 PID(例如 1620)?我应该向哪个 PID 发送 SIGTERM 来停止 dockerd?
ps aux | grep dockerd
pstree -ps
【问题讨论】:
标签: linux bash docker-daemon
我不明白为什么在使用 sudo 启动 dockerd(例如 1628)时 sudo 会获得一个单独的 PID(例如 1620)?我应该向哪个 PID 发送 SIGTERM 来停止 dockerd?
ps aux | grep dockerd
pstree -ps
【问题讨论】:
标签: linux bash docker-daemon
我不明白为什么
sudo在使用 sudo 启动 dockerd(例如 1628)时会获得单独的 PID(例如 1620)?
这正是sudo 的工作方式。它将命令作为子进程运行,因为它需要在子进程退出后执行操作。
您可以调整 sudo 配置以使 sudo 不会派生子进程。在我的系统上,man sudo 说:
"如果没有加载 I/O 日志插件并且策略插件没有定义
close()函数,设置命令超时或要求命令在新的 pty 中运行,sudo可以直接执行命令而不是将其作为子进程运行。”
但请注意:
我应该向哪个 PID 发送 SIGTERM 来停止 dockerd?
您可以向sudo 进程发送信号,它们将被中继到dockerd 进程。这就是man sudo 所说的。查看手册页中有关信号处理的部分。
【讨论】: