0

WINDOWS/system32/LogFiles でファイルを開く

    using (StreamReader r = new StreamReader(fileName))

「ファイルが別のプロセスで使用されているため」例外を生成します。他のプロセスが何であるかをどのように把握できますか?ログを更新しているサーバーでしょうか?そうである場合、関連するスケジュールされたタスクにもアクセスできるようにするにはどうすればよいですか?

ありがとう!

このサーバーにプログラムをインストールするための認証がありません。

4

3 に答える 3

2

これは気がかりなほど古いやり方ですが、wholockme http://www.dr-hoiby.com/WhoLockMe/という非常に悪いユーティリティが大好きです。

誰がファイルをロックしているかがわかります。

ジェイコブ

于 2009-08-11T21:14:00.377 に答える
1

個人的には、「ハンドルの検索」機能を備えたProcessExplorerの方が好きです。

共有モードでファイルを開くこともできます。

using (FileStream fs = File.Open(fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
using (StreamReader r = new StreamReader(fs))
    ... 
于 2009-08-11T21:39:53.880 に答える
0

誰がファイルを開いているかを知りたい場合、SysInternals の Handle ( http://technet.microsoft.com/en-us/sysinternals/bb896655.aspx ) が私のお気に入りのアプリです。アプリをインストールする権限がないと言っていましたが、これは実行する単一の実行可能ファイルであり、必要に応じてネットワーク共有から実行することもできます。

SMTP サービス ログで LogFiles ロックの問題が発生しました。私の解決策は、ファイルを別の場所にコピーして、そこから開くことでした。あなたがしていることのために働くかもしれません。

于 2009-08-11T23:46:27.247 に答える