在 WINDOWS/system32/LogFiles 中打开一个文件
using (StreamReader r = new StreamReader(fileName))
生成异常“因为该文件正在被另一个进程使用”。我怎样才能弄清楚另一个过程是什么?可能是服务器更新日志吗?如果是,我如何确保我关联的计划任务也可以访问?
谢谢!
恐怕我没有在这台服务器上安装程序的授权。
在 WINDOWS/system32/LogFiles 中打开一个文件
using (StreamReader r = new StreamReader(fileName))
生成异常“因为该文件正在被另一个进程使用”。我怎样才能弄清楚另一个过程是什么?可能是服务器更新日志吗?如果是,我如何确保我关联的计划任务也可以访问?
谢谢!
恐怕我没有在这台服务器上安装程序的授权。
就个人而言,我更喜欢ProcessExplorer的“查找句柄”功能。
您也可以尝试以共享模式打开文件:
using (FileStream fs = File.Open(fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
using (StreamReader r = new StreamReader(fs))
...
如果你想知道谁打开了文件,我最喜欢的应用是 SysInternals 的 Handle ( http://technet.microsoft.com/en-us/sysinternals/bb896655.aspx )。我知道您说过您无权安装应用程序,这只是您运行的单个可执行文件,如果您愿意,可以从网络共享运行它。
我遇到了 SMTP 服务日志的 LogFiles 锁定问题,我的解决方案是将文件复制到另一个位置并从那里打开它。可能适用于你正在做的事情。