我不明白为什么在使用 sudo 启动 dockerd(例如 1628)时 sudo 会获得一个单独的 PID(例如 1620)?我应该向哪个 PID 发送 SIGTERM 来停止 dockerd?
ps aux | grep dockerd
pstree -ps
我不明白为什么在使用 sudo 启动 dockerd(例如 1628)时 sudo 会获得一个单独的 PID(例如 1620)?我应该向哪个 PID 发送 SIGTERM 来停止 dockerd?
ps aux | grep dockerd
pstree -ps
我不明白为什么
sudo
在使用 sudo 启动 dockerd(例如 1628)时会得到一个单独的 PID(例如 1620)?
这就是行之有效的方式sudo
。它将命令作为子进程运行,因为它需要在子进程退出后执行操作。
您也许可以调整sudo
配置,以免sudo
分叉子进程。在我的系统上,man sudo
说:
“如果没有加载 I/O 日志插件并且策略插件没有定义
close()
函数,设置命令超时或要求命令在新的 pty 中运行,sudo
则可以直接执行命令而不是将其作为子进程运行。 "
但请注意:
我应该向哪个 PID 发送 SIGTERM 来停止 dockerd?
您可以向sudo
进程发送信号,它们将被中继到 dockerd
进程。就是这么man sudo
说的。查看手册页中有关信号处理的部分。