問題タブ [file-in-use]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 「別のプロセスで使用されているため、プロセスはファイルにアクセスできません」とImages
私はこのような多くの問題が解決されているのを見てきましたが、問題のほとんどはストリームが適切に処理されていないことが原因でした。
私の問題は少し異なります。ここではコードスニペットに従ってください
ここImages
で、はカスタム構造体でitem.File
あり、は生データ、byte[]です。
私の問題は、WriteAllBytes
が呼び出された行で例外がスローされることです。メッセージは次のとおりです。
The process cannot access the file because it is being used by another process
繰り返しになりますが、どういうわけかclose
プロセスをどのように進めるのかわかりません。
visual-studio-2010 - VS 2010 を使用して Windows インストーラーの定義済みメッセージを変更する
私はこの質問を見てきましたが、それは何か違うものです。
MsiRMFilesInUseダイアログ ボックスのメッセージを変更する必要があります。
現在、メッセージは「アプリケーションを閉じないでください。(再起動が必要です。)」です。
「アプリケーションを閉じないでください。(アプリケーションが動作しない可能性があります)」に変更する必要があります。
アプリケーションが開いているときにメッセージが表示され、ユーザーがアプリをアンインストールしようとします。
唯一の (しかし大きな) 制限は、Visual Studio 2010 セットアップ プロジェクトで行うことです。(Installshield/Wix は許可されていません)。
カスタム アクションを調べましたが、メッセージを変更する方法がわかりません。
もう 1 つの方法は、カスタム ダイアログ ボックスを作成することですが、ダイアログ ボックスを何らかの方法で変更することはできません。また、新しいダイアログ ボックスのコントロール セットは非常に限られています。
c# - プロセスはPdfWriter.GetInstanceを使用してファイルにアクセスできません
次のコードを使用してHTMLコンテンツをPDFに保存しています。
しかし、それはこのエラーを与えます:
別のプロセスによって使用されているため、プロセスはファイル'C:\ inetpub \ wwwroot \ abc\Invoice_Statement.pdf'にアクセスできません。
この行で:
これはIIS-7を使用するサーバーでのみ発生し、VisualStudioを使用するローカルで正常に機能します。
誰か助けてもらえますか..??
inno-setup - InnoSetup - コンパイル中に「別のプロセスで使用中のファイル...」という誤ったメッセージが表示される
私は InnoSetup をとても気に入っていますが、この誤ったメッセージにしばらく苦しんでいましたが、私のフラストレーションは新たな高みに達しました。この問題について不平を言っている投稿が多数ありますが、これは間違いなく InnoSetup のバグですが、私が見つけることができる有用な回避策はありません。
一部のファイルをコピーしてショートカットを作成するだけの非常に単純な (署名付き) セットアップがあります。実行可能ファイルさえ含まれていません。セットアップをコンパイルしようとすると、「別のプロセスで使用されているため、プロセスはファイルにアクセスできません」というメッセージが繰り返し表示されます (通常、セットアップは常に 3 回の試行でコンパイルされます)。多くの後。多くの試み。「使用中」のファイルは、InnoSetup の出力またはエラー ダイアログから明確ではありません。実行中の競合するプロセスはほとんどありません。(マシンを再起動しても、このメッセージが表示されます)。
これを解決する方法についてのアイデアは大歓迎です。
これが完全なセットアップ コードです。これは署名されていますが、同じ署名で作成した他のセットアップでは問題ありません。
file-in-use - Windows で使用中のファイル
Windows でファイルをブロックしたプロセスを知る方法。たとえば、使用中のファイルを削除しようとした場合、そのファイルを使用しているプロセスを知る方法はありますか?
wix - WIX: 応答しないアプリがインストール/更新を妨げる
障害のある通知領域 (トレイ) アプリをデプロイしました。最上位のウィンドウがなかったため、WM_CLOSE イベントを受け取りませんでした。つまり、アップグレードまたはアンインストール中に Windows インストーラーが組み込み関数を使用してそれを閉じようとすると (アプリをシャットダウンするダイアログが表示されます)、アプリを閉じることができません。トレイ プロセスはまだ Taskmanager で実行されているため、exe ファイルはロックされています。
私は次のことを望みます:
セットアップは、実行中のトレイ アプリケーションを特定のファイル/インストール バージョンまで強制終了する必要があります。または、これが不可能な場合は、古いバージョンのインストールを防止し、手動で削除するようユーザーに伝えます。
「シャットダウンしてください」ダイアログが表示される前に、古いバージョンのメモ帳を (テストとして) 起動しようとしましたが、成功しませんでした。
Before="ValidateInstall" で起動しようとしましたが、実行されませんでした。After="ValidateInstall" で起動しようとした後、メモ帳を開きましたが、セットアップがファイルの実行を検出した後に実行しました。
おそらく、すべてのプロパティが Before="ValidateInstall" に設定されているわけではありませんか?
おそらく私のカスタム アクションは何らかの形で自動的に延期されますか?
いくつかのコード スニペット:
php - APC スクリプトがロックアップする
更新 - これは APC の問題ではありませんが、スクリプトを編集して保存し、再実行すると、実際には私のサーバーの問題です。ページは継続的に読み込まれ、APC が関与しているかどうかに関係なく、httpd.exe プロセスが原因でファイルがロックされます。モデレーターがこの質問を閉じることをお勧めします。
そこで、PHP の APC をインストールし、それがインストールされて phpinfo() で動作することを確認しましたが、実際に使用していくつかの問題が発生しています。ページで以下のコードを使用して APC を試しています。ページを読み込むと、期待どおりに動作しました。
ただし、スクリプトを変更した後にページを更新すると、ページを継続的にロードしようとします。それだけでなく、コード (apc/index.php) は、別のプログラムによって使用されているため、あらゆる種類の編集からロックされます。サーバー全体をシャットダウンしてページを閉じても、別のプログラムでまだ使用されています。ロックを解除する唯一の方法は、実際にコンピューター全体を再起動することです。これは、このスクリプトを実行しようとするたびに発生するので、何が起こっているのか誰か教えてもらえますか?
更新- APC の私の phpinfo はここに示されています。WAMP サーバー 2.2 で PHP 5.4.3 と Apache 2.2.22 を実行しています。私の php.ini の APC セクションを以下に示します。
php - PHP スクリプトを変更して再実行するとロックアップする (APC が原因)
基本情報 - Windows XP Pro 32 ビットで PHP 5.4.3 および Apache 2.2.22 を使用して WAMP 2.2 を実行する
私の問題は、php スクリプトを実行すると問題なく実行されることです。そのスクリプトを変更して再実行すると、ページが読み込まれず、別のプログラムで使用されているためにスクリプトがロックされます。プロセス httpd.exe によって使用されていることがわかりました。プロセスの終了 (プロセスを停止するのではなく、実際に再起動します) を使用すると、元のページが突然読み込まれ、新しいスクリプトが実行されます。もう一度変更すると、これと同じことが起こります。
PHP APC拡張機能を無効にすると、この問題は発生しないため、APCが原因です
http://dev.freshsite.pl/php-accelerators/apc.html "APC 3.1.14 beta for PHP 5.4" および apc_3113_beta_php54_vc9.dll (改名それを php_apc.dll に) 同じところ「APC 3.1.13 beta for PHP 5.4 vc9」
c# - Web リクエストのスレッド化中にログへの書き込み中にエラーが発生しました
C# .Net4.0 を使用して Visual Studio 2010 でプログラムを構築しています。
URLを取り込んで応答を取得しようとする関数があります。関数内で、成功とエラーを示すログ ファイルに書き込みます。
URL のリストがあり、Parallel.ForEach を使用して一度に複数の URL を実行します。
プログラムを実行すると、program.log が別のプログラムによって使用されているというエラーが表示されることがあります。これは常に発生するわけではありませんが、まれに発生し、プログラムがクラッシュします。
質問:このエラーを回避するにはどうすればよいですか? または、それを行う別の方法はありますか?
c# - ファイルが実行可能実行の他のインスタンスによって使用されているかどうかを確認する
詳細に入る前に、私のプログラムは C# .Net 4.0 を使用して Visual Studio 2010 で作成されています。
実行ごとに個別のログ ファイルを生成するプログラムを作成しました。ログ ファイルの名前は時間にちなんで付けられ、ミリ秒単位まで正確です (たとえば、20130726103042375.log )。プログラムは、その日のマスター ログ ファイルが存在しない場合は、それも生成します (たとえば、*20130726_Master.log*)。
各実行の最後に、ログ ファイルをマスター ログ ファイルに追加したいと考えています。正常に追加できるかどうかを確認する方法はありますか? そしてSleep
、1秒か何か後に再試行しますか?
基本的に、1 つの実行可能ファイルと複数のユーザー (5 人のユーザーがいるとしましょう) があります。
5 人のユーザー全員が同時にこの実行可能ファイルにアクセスして実行します。すべてのユーザーがまったく同じ時間 (ミリ秒まで) に開始することはほぼ不可能であるため、個々のログ ファイルを生成しても問題はありません。
ただし、これらのログ ファイルをマスター ログ ファイルにマージしようとすると、問題が発生します。可能性は低いですが、複数のユーザーが同じマスター ログ ファイルに追加すると、プログラムがクラッシュすると思います。
私が使用する方法は
オブジェクトにチェックインしましたlock
が、1 つのインスタンスで複数のスレッドではなく複数のインスタンスが実行されているため、私の場合は機能しないと思います。
私が調べる別の方法はtry/catch
、このようなものです
しかし、masterLogFile のステータスはその短いミリ秒で変化する可能性があるため、これで問題が解決するとは思いません。
したがって、私の全体的な質問は次のとおりです。masterLogFile が使用されていない場合に追加し、使用されている場合は短いタイムアウト後に再試行する方法はありますか? または、masterLogFile を作成する別の方法がある場合は?
よろしくお願いします。長いメッセージで申し訳ありません。誰の時間も無駄にしないように、自分のメッセージを確実に伝え、自分が試したことや調査したことを説明したいと思います。
あなたを助けるために私が提供できる情報が他にある場合はお知らせください。