如何去除solaris中的“门”

我在solaris 10中有一个“door”types的文件(这是一个进程间通信的手段)。 这是不知何故遗留下来,我想摆脱它。 我不能用rm把它删除

ls -l total 0 Dr--r--r-- 1 root root 0 Oct 12 2012 name_service_door # rm name_service_door rm: name_service_door not removed: Device busy # lsof name_service_door 

显然有些过程还在使用它。 但是,lsof不显示任何内容。 从“ps -elf”中也不清楚谁在使用这个。 我怎样才能摆脱这个文件?

更新:我重新启动服务器,这当然杀死了所有进程,从而释放文件。 我可以删除它。 但是,我仍然有兴趣知道如何在不重新启动的情况下做到这一点(在生产环境中,这不是一种select)。

找出设置或安装的文件。 以root身份运行此命令。

 pkgchk -l -p /files 
  • 告诉你用什么软件包来创build你在命令中给出的文件。

 pkgchk -l -p *path to file*/name_service_door 

如果文件没有添加包,这将不起作用。 例如你使用tar文件安装它。

如果文件是通过软件包安装的,那么你可以删除软件包,这将删除文件。

作为根

 pkgrm packagename 

您也使用svcadm命令停止或重新启动服务。

作为根

svcadm [enable | disable | restart | refresh]服务

我希望这有帮助

原来这是一个在chroot里面的挂载,所以在卸载之后,我可以把它删除。