Chinaunix首页 | 论坛 | 博客
  • 博客访问: 917233
  • 博文数量: 194
  • 博客积分: 7991
  • 博客等级: 少将
  • 技术积分: 2067
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-09 22:03
文章分类

全部博文(194)

文章存档

2010年(8)

2009年(71)

2008年(109)

2007年(6)

我的朋友

分类:

2008-01-09 17:12:28

 

linux中可以挂载的windows下的共享,当卸载的时候经常会碰到device is busy的情况:

[root@itc-205013 ~]# umount ips/php   

umount: /home/sxg/ips/php: device is busy

 

其实这个问题好解决:

出现这种情况的根本原因是该目录正在被使用,一般情况下将所有控制台cd/根目录,并退出该目录中执行的程序就行了。

但是有时候,我们可能并不知道或者忘记了什么程序正在执行了,下边我就介绍一个方法:

 

/proc目录下有一些以整数命名的文件夹,这些整数其实是进程号,文件夹包含了进程所使用的资源。

[root@itc-205013 2586]# pwd

/proc/2586

[root@itc-205013 2586]# ll

lrwxrwxrwx  1 root root 0 Jan  9 13:13 cwd -> /

lrwxrwxrwx  1 root root 0 Jan  9 13:13 exe -> /sbin/klogd

其中exe字段的意思是当前进程的可执行文件路径

其中cwd字段的意思是当前程序的当前目录

 

从上述描述可以找到方法:

#cd /proc

#ls –R –l . |grep php

lrwxrwxrwx  1 root root 0 Jan  9 16:59 cwd -> /home/sxg/ips/php/nicu

lrwxrwxrwx  1 root root 0 Jan  9 16:37 exe -> /home/sxg/ips/php/nicu/snortsxg

这下子知道那个程序导致卸载失败了吧,呵呵。

 

[root@itc-205013 proc]# ps aux |grep snortsxg
root      4187  0.0  0.0  2900  288 pts/2    S    13:15   0:00 ./snortsxg
[root@itc-205013 proc]# kill 4187
[root@itc-205013 ~]# umount ips/php

卸载成功

 

另外fd目录中是当前进程所打开的所有文件。

通过它,我们可以确定某一个文件被那几个进程打开,你可以自己想象怎么办了,hoho。

 

Sxg

阅读(1393) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~