我在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
例
pkgchk -l -p *path to file*/name_service_door
如果文件没有添加包,这将不起作用。 例如你使用tar文件安装它。
如果文件是通过软件包安装的,那么你可以删除软件包,这将删除文件。
作为根
pkgrm packagename
您也使用svcadm命令停止或重新启动服务。
作为根
svcadm [enable | disable | restart | refresh]服务
我希望这有帮助
原来这是一个在chroot里面的挂载,所以在卸载之后,我可以把它删除。