By Daniel Du
今天在跑Windows Azure的Blob例子时,发现Blob存储模拟器不能启动了,弹出错误信息如下:
"Process cannot access the file because it is being used by another process"
从上面的截图,可以看到,Blob模拟器使用的是端口号10000, 根据错误信息,多半是端口冲突造成的。可是那个程序占用了10000号端口呢?你可以用端口扫描工具来查找,不过windows也自带了命令NETSTAT有类似的功能,这样就不用下载扫描工具了。可以用下面的命令:
C:\Users\duda>netstat -p tcp -ano | findstr :10000
TCP 127.0.0.1:10000 0.0.0.0:0 LISTENING 6256
从输出结果可以看出进程号6256正在监听10000好端口,那么这个进程号6256的进程到底是那个呢?怎么才能找到这个进程杀掉呢?下面的命令又派上用场了:
C:\Users\duda>tasklist /fi "pid eq 6256"
Image Name PID Session Name Session# Mem Usage
========================= ======== ================ =========== ============
emagent.exe 6256 Services 0 40,956 K
可以看出进程名是"emagent.exe", 这是Oracle的一个管理工具的进程,我现在还不用oracle,在任务管理器里杀掉吧。杀掉之后,我的Azure存储模拟器又可以启动了 :)