我注意到在我的Ubuntu系统上运行了同一个守护进程的三个实例:
root 1167 0.0 0.0 122556 5808 ? Ss 13:53 0:00 smbd -F
root 1371 0.0 0.0 122540 1632 ? S 13:53 0:00 smbd -F
root 1733 0.0 0.0 125104 4704 ? S 13:58 0:00 smbd -F
我的问题是这是否正常以及为什么会发生。
我的另一个问题是,如果不正常,我该在哪里纠正它?
谢谢!
答案 0 :(得分:3)
来自smbd manual;
只要客户端请求会话,就会创建会话。 每个客户端都会获得每个会话的服务器副本。 此副本随后为该会话期间客户端建立的所有连接提供服务。当关闭来自其客户端的所有连接时,该客户端的服务器副本将终止。
换句话说,有一个以上的活动smbd会话(也称为Windows文件共享会话)对你的linux机器有效,并且运行多个进程是完全正常的。
答案 1 :(得分:1)
是的,这很正常。这是用C编写的Unix守护进程常见的多进程模型。例如,您也会发现httpd(Apache)正在发生这种情况。 prefork模式下的httpd,在任何请求被收到之前预先分配一些进程,以避免在实际接收请求时出现fork延迟。