file-locking相关内容

如何找出使用 .NET 锁定文件的进程?

我已经看到了几个关于使用 Handle 或 a href="http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx" rel="noreferrer">进程监视器,但我希望自己能找到代码 (C#)哪个进程正在锁定文件. 我有一种讨厌的感觉,我将不得不在 win32 API 中进行探索,但如果有人已经这样做并且可以让我走上正确 ..
发布时间:2022-01-30 10:15:30 C#/.NET

取消部署 Tomcat Web 应用程序时如何防止文件锁定?

我在 tomcat 7 中使用管理器应用程序,我无法完全取消部署应用程序. 它说失败 - 无法删除 [F:\apache-tomcat-7.0.33\webapps\balaji].此文件继续存在可能会导致问题. 我在某处读到它是因为某种称为内存泄漏的现象,如果我们修复它,问题将得到解决. 谁能告诉我 tomcat 7 中的内存泄漏是什么,我们该如何解决?我正在使用 Window ..
发布时间:2021-12-31 08:03:24 服务器开发

读取另一个进程使用的文件

我正在监视服务器程序正在写入的文本文件.每次更改文件时,内容都会输出到我程序中的一个窗口中. 问题是我不能在文件上使用 Streamreader,因为它正被另一个进程使用.使用 ReadWrite 设置 Filestream 不会有任何好处,因为我无法控制正在使用该文件的进程. 我可以在记事本中打开文件.即使服务器正在使用它,也必须可以访问它. 有什么好的方法可以解决这个问题吗? ..
发布时间:2021-12-29 12:10:55 C#/.NET

如何使用 .NET 找出哪个进程正在锁定文件?

我看过几个关于使用 Handle 或 进程监视器,但我希望能够在我自己的代码 (C#)哪个进程正在锁定文件. 我有一种讨厌的感觉,我将不得不深入研究 win32 API,但如果有人已经这样做并且可以让我走上正轨,我将非常感谢您的帮助. 更新 类似问题的链接 人们如何知道什么进程使用c#锁定了文件? 命令行工具 跨越一个网络 锁定 USB设备 单元测试因文件锁定而失败 ..
发布时间:2021-12-01 09:24:59 C#/.NET

有没有办法检查文件是否正在使用?

我正在用 C# 编写一个需要重复访问 1 个图像文件的程序.大多数情况下它都可以工作,但如果我的计算机运行速度很快,它会在将文件保存回文件系统之前尝试访问该文件并抛出错误: “另一个进程正在使用的文件" 我想找到一种方法来解决这个问题,但我所有的谷歌搜索都只能通过使用异常处理来创建检查.这违反了我的宗教信仰,所以我想知道是否有人有更好的方法? 解决方案 更新此解决方案的注意事项 ..
发布时间:2021-12-01 08:58:30 C#/.NET

CopyFile 是否对源文件设置了任何锁定?

当我使用 CopyFile,源文件会以任何方式被锁定吗?比如说——如果复制操作开始,然后有人想打开源文件,会成功吗?如果“某人"请求独占访问文件,他的 Win32 API 调用(可能是 CreateFile) 失败,还是会等待(或其他)直到复制操作完成? 解决方案 如果有人请求独占访问已打开的文件,该请求将失败.Windows 没有包含以下内容的文件打开模式:“如果其他人正在使用该文件,请 ..
发布时间:2021-09-25 19:19:44 其他开发

在 Python 中锁定文件

我需要锁定一个文件以便在 Python 中写入.它将一次从多个 Python 进程访问.我在网上找到了一些解决方案,但大多数都无法达到我的目的,因为它们通常仅基于 Unix 或基于 Windows. 解决方案 好吧,所以我最终使用了我编写的代码 这里,在我的网站上 链接已失效,请查看archive.org(也可在 GitHub 上找到).我可以按以下方式使用它: from fileloc ..
发布时间:2021-06-25 18:59:24 Python

从 R 中的并行进程写入文件时锁定文件

我使用 R 中 parallel 包中的 parSapply().我需要对大量数据执行计算.即使并行执行也需要几个小时,所以我决定使用 write.table() 定期将结果从集群写入文件,因为当内存不足或其他一些随机原因,我想从它停止的地方继续计算.我注意到我得到的一些 csv 文件行只是在中间被剪掉了,可能是因为多个进程同时写入文件.有没有办法在 write.table() 执行时锁定文件的时 ..
发布时间:2021-06-14 18:50:56 其他开发

在单个 JVM 内和跨多个 JVM 使用 java 文件锁

我想我错过了一些东西,但我无法理解文件锁在 Java 中的工作原理.更准确地说 - 它是如何实施的. 似乎我无法在单个 JVM 中为同一个文件获取(甚至无法尝试获取)两个或多个锁.将成功获取第一个锁,所有进一步尝试获取更多锁都将导致 OverlapingFileLockException.尽管如此,它适用于单独的进程. 我想实现由文件系统支持的数据存储,旨在处理多个并发请求(读取和写入 ..
发布时间:2021-06-07 20:32:32 Java开发

Linux flock(fd,LOCK_EX | LOCK_NB)会错误地失败吗?

考虑这样一种情况:两个进程同时尝试使用 flock(fd, LOCK_EX|LOCK_NB) 对某个文件设置排他锁. 如所示,尝试是 non-blocking ,因此这两个进程之一应该会因 EWOULDBLOCK 而失败. 这是我的问题: flock()的(Linux)实现是否可以确保在每种情况下,两个过程之一都能成功?或者,即使没有其他人在干扰,两者是否都可能都以 EWOULDBLO ..
发布时间:2021-05-29 22:42:29 服务器开发

FileSystemWatcher.WaitForChanged返回,但是文件上仍然有锁

我有一个程序,可以将文档发送到pdf打印机驱动程序,并且该驱动程序可以打印到特定目录.打印后,我想将pdf附加到电子邮件(MailMessage)上并发送出去. 现在,我将文档发送到打印机(将产生一个新进程),然后调用FileSystemWatcher.WaitForChanged(WaitForChangedResult.Created),但是在创建对象时,它仍未完成“打印"和pdf打印机 ..
发布时间:2020-11-06 04:28:26 C#/.NET

Python:在不创建锁的情况下打开文件

我正在尝试使用Python创建脚本来备份一些文件.但是,这些文件可以随时重命名或删除.我不希望我的脚本通过锁定文件来防止这种情况.在备份过程中,该文件应该仍然可以随时删除. 如何在Python中执行此操作?而且,会发生什么?如果无法读取流,我的对象会变成空吗? 谢谢!我对Python有点陌生. 解决方案 如kindall所述,这是Windows特定的问题. Unix操作系统允许 ..
发布时间:2020-09-18 06:10:30 Python

了解/删除Azure File Service上的文件锁

我正在开发一个用于将常用文件共享到blob存储的应用程序(即,工作角色A将更新这些文件,工作角色B将读取这些文件). 由于此应用程序并不重要,因此即使它仍然是预览版,我们最近也已将其转换为Azure File Service共享. 直到最近,即使在尝试删除所有可能在这些文件上具有句柄的实例之后,也不会在共享上释放文件锁,它的工作情况还不错.尝试删除重命名文件时始终显示相同的消息: ..
发布时间:2020-09-17 22:27:11 其他开发

防止同时进行数据库表行访问

有时,我们支持团队中的两个管理员试图对数据库表行执行相同的敏感操作(例如,修改行中的值).我们需要防止这种情况. (因为表是"myisam",所以行锁定是不可能的) 我想到了几种解决方案: 在表格中设置旧值并将其与提交时的当前值进行比较 ..
发布时间:2020-08-14 01:14:44 PHP

与Linux flock(1)命令等效的Mac OS X

在Mac OS X上是否存在用于管理文件锁定的flock命令? http://linux.die.net/man/1/flock 解决方案 此处有一个跨平台的flock命令: https://github.com/discoteq/flock 我已经对其进行了测试,并且可以在OSX上很好地替代util-linux flock. ..
发布时间:2020-08-11 22:02:08 其他开发

测试文件是否被锁定

在PHP中,如何测试文件是否已经被 flock ?例如,如果另一个正在运行的脚本调用了以下内容: $fp = fopen('thefile.txt', 'w'); flock($fp, LOCK_EX); 解决方案 if (!flock($fp, LOCK_EX|LOCK_NB, $wouldblock)) { if ($wouldblock) { // ano ..
发布时间:2020-05-27 01:43:51 PHP

文件读/写锁定和取消链接

我有以下问题.我想创建一个基于文件系统的会话存储,其中每个会话数据都存储在以会话ID命名的简单文件中. 我想要以下API:write(sid,data,timeout),read(sid,data,timeout),remove(sid) 其中sid == file name,我还想拥有某种可以删除所有超时会话的GC. 如果您使用单个进程,则非常简单,但是使用多个进程甚至通过NFS绝对 ..
发布时间:2020-05-17 20:17:16 服务器开发

获取在网络驱动器上打开文件的用户的用户名-Microsoft Office Style

我想向使用 C#编写的在 Windows (主要是Windows 7)下运行的软件中添加用户友好的文件锁定. 通过在相应的过程中使文件保持“打开"状态,我已经实现了文件锁定部分.我现在仍然要添加的是识别当前具有打开/锁定文件的用户. 所访问的文件位于映射的网络驱动器上,供不同计算机上的不同用户使用. 当文件被锁定并且另一个人试图打开该文件时,他将面临一个对话框,类似于Microsoft Of ..
发布时间:2020-05-13 01:33:57 C#/.NET