ファイルをロックしようとすると、lock()またはlock_sharable()でファイルをロックしようとすると例外がスローされます。別のユーザーが所有するファイルをロックする方法はありますか?安全に変更することができます(変更ユーザーには正しい書き込み権限があります)。ブーストプロセス中のfile_lockは所有していないファイルをロックできません
答えて
例外をスローしているということは、既存の排他ロックまたは共有ロックが解放されるのを待っていないことを意味します(これはブロッキング呼び出しである必要があります)。実際にファイル名が正しいことを確認するか、what()
、get_native_error()
、またはget_error_code()
のいずれかの方法を使用してスローされているboost::interprocess_exception
のエラーコードを確認してください。たとえば、ファイルのアクセス権に問題があるか、ファイルが存在しないなど、ロックの競合が原因で例外がスローされない可能性があります。
スローされるエラーはファイルのアクセス許可です。ロックしたいファイルの所有者をロックしようとしているユーザーに変更すると、そのファイルは機能します。基本的には、2人のユーザーが問題のファイルをロックできるようにしたいのですが、明らかに1人のユーザーしかファイルを所有できません。 – user788171
設定できるグループレベルの権限はありませんか?例えば、Linux/Unixでは、 'chown'と' chmod'を使って、他のユーザの所有者だけでなく、読み書き/実行アクセシビリティのアクセス権を設定することができます。 Windowsでは、ACLを使ってきめ細かい制御が可能です。 – Jason
- 1. 私と共有しているファイルをコピーできません
- 2. boost :: interprocess :: file_lockでロックされたファイルを作成する
- 3. Mercurial - 中止:リポジトリをロックできませんでした
- 4. (本当に)ロックしていないファイルを開きますか?
- 5. RavenDb、ファイルにアクセスできない、ファイルがロックされている、または使用中です
- 6. Xcodeはビューとコントロールをロックしていて編集できません
- 7. バークレーDBエラー:je.lckファイルをロックできませんでした
- 8. はファイルの排他ロックを取得できません
- 9. NSFileManagerを使用して所有者を `root 'として新しいディレクトリを作成できません
- 10. 「ロックできませんでした」エラー
- 11. ファイルの所有者をNT SERVICE \ TrustedInstallerに設定できません
- 12. 「このアプリケーションがモバイルWeb URLを設定していないか、アプリケーションが所有しているとURLを確認できませんでした」エラー
- 13. ファイルをロックすると、別のアプリケーションはファイルを削除できません。
- 14. log4net GenericFailure。ファイルのロックを取得できません
- 15. Facebookのエラーメッセージ:redirect_uriはアプリケーションによって所有されていません
- 16. プリンタは共有されていないと使用できません
- 17. デバイス固有のエラー - s3dReadConfigFile "ファイルを開いて読み込みできません。"
- 18. ファイルを所有しているピップパッケージを見つけるには?
- 19. 所有している総称量子{m、n} +はRuby 1.9.3で実装されていませんか?
- 20. データを結合してロックしているとき、const-correctはできませんか?
- 21. タイプライブラリxxxの登録を解除できません - ファイルをロードできません。有効なタイプライブラリであることを確認してください
- 22. ユーザにホームフォルダを所有させることはできませんか?
- 23. SharpSvnはコミットされていないファイルを取得できません
- 24. Facebookのページが好きな人のプロフィールにアクセスできますか(私が所有していないもの)
- 25. WCFストリームはダウンロード後にファイルのロックを解除しません。
- 26. JavaファイルのロックとWindows - ロックは「絶対」ではありませんか?
- 27. ロックを解除しないでファイルをロックして削除する
- 28. catはファイルに書き込みをしていませんか?
- 29. TFSファイルはロックされたままでなければなりません
- 30. ファイル所有者アイコンが見つかりません
file_lockはファイルのロックに使用されません。ロックを強制するためにファイルを使用するクロスプロセスミューテックスを意味します。これはファイルを使用して実装されたロックであり、アクセスのために実際にファイルをロックすることとは何の関係もありません。 – Joe
はい、私はこの文脈でファイルロックが何であるかを理解しています。私の問題は、私が所有していないファイルをロックすることができず、考えられる回避策があるかどうかを知りたいということです。 – user788171