问题标签 [lockfile]

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.

0 投票
0 回答
31 浏览

java - 如何正确防止应用程序再次运行,直到前一个实例使用锁定文件结束?

我正在开发一个简单的 Spring 控制台应用程序(它是一个在数据库上工作的小批量)。

此批次计划在特定时间开始。问题是这个程序的执行可能需要很多时间,并且调度程序可以在这个程序的前一个实例完成它的工作之前尝试启动它。

所以我认为我可以使用锁文件来处理这种情况,我的想法是:

  • 当批处理启动时,它检查其文件夹中是否存在此锁定文件(如果存在此锁定文件,则批处理应用程序结束而不做任何事情)。
  • 如果找不到锁定文件:创建锁定文件并开始批量操作。

您认为这可能是解决问题的有效方法吗?还是 Spring 提供了一些更聪明的方法?

另一个疑问是:锁文件的标准是什么?我可以在当前文件夹中简单地创建一个.lock文件吗?

0 投票
13 回答
765447 浏览

node.js - 我是否提交由 npm 5 创建的 package-lock.json 文件?

npm 5 今天发布,其中一项新功能包括确定性安装和package-lock.json文件创建。

这个文件应该保存在源代码管理中吗?

我假设它类似于yarn.lockand composer.lock,两者都应该保存在源代码管理中。

0 投票
2 回答
520 浏览

batch-file - 锁定文件不适用于 Windows .bat 文件

我正在创建一个锁定文件以防止我的程序出现多个实例,如此处所示 如何实现单个实例 Java 应用程序?.

如果我从命令行运行我的程序,它工作正常,那就是它启动我的程序并创建锁定文件。当我尝试再次运行我的程序时,它会识别锁定文件并且不会启动另一个实例,它将命令行参数传递给当前正在运行的进程。这就是我想要的。

如果我使用 .bat 文件,我第二次运行 .bat 文件时会收到此消息“该进程无法访问该文件,因为它正被另一个进程使用。” 该消息不是来自我的程序。该程序未按预期运行。我觉得奇怪的是它到达了我的程序尝试访问该文件的点,但我的打印语句都没有出现在我的日志文件中。我有我的程序的日志文件,并从 .bat 文件中捕获标准输出。

这里是

0 投票
1 回答
10268 浏览

node.js - 当 package.json 和 yarn.lock 不同步时,如何让纱线安装失败?

在一个项目中,我用 yarn 替换了 npm 以获得它的好处,并且还强制我们的依赖项通过yarn.lock.

现在,开发人员添加了一个带有 npm@4 的库,它只更改package.jsonyarn.lock.

我原以为该yarn install命令会在构建服务器上崩溃,但 yarn 有——对我来说出乎意料的行为——在它们的最新版本中添加这些库,然后yarn.lock在远程更新:

这与纱线的目的相矛盾,因为构建作业不会将其推yarn.lock回存储库,也不应该。

我希望每个开发人员对他们签入的版本负责。

因此,如果and不同步,有没有办法以yarn install错误代码退出?package.jsonyarn.lock

0 投票
3 回答
168 浏览

bash - 防止其他终端在另一个终端使用脚本时运行它

我想阻止其他终端在另一个终端运行某个脚本时运行它,但是在 bash 中,但我不太确定我将如何去做。任何帮助或提示将不胜感激!

例如:当该脚本在另一个终端上运行时,所有其他终端也将无法运行该特定脚本。并显示一条消息“正在维护”。

0 投票
0 回答
156 浏览

python - 如何正确删除python抽象类中的lockfile?

我有一个由一个MyCron类和一个MyIMAP类组成的 python3 cron 脚本。

该类MyCron是一个抽象类,可确保只有一个脚本实例运行。它创建和销毁一个锁定文件,并SingleInstanceExeption在 cron 在脚本已经运行时尝试运行该脚本时抛出一个。

该类MyIMAP继承MyCron该类作为其基类。它检查电子邮件并返回未读电子邮件。如果出现任何问题,我希望我的脚本能够巧妙地关闭连接并销毁锁定文件。

在这两个类中,我都是压倒一切的__del__方法。因为MyCron我需要移除锁,并MyIMAP关闭连接。

__del__调用时我遇到了奇怪的结果(对象不再存在) 。这是代码示例:

我知道这与方法的不可预测性有关__del__,我可能应该以不同的方式实现它。python 3的最佳实践是什么?

0 投票
0 回答
38 浏览

c++11 - 如何在 xerces-c 中使用 lockf

我是编程新手,我正在尝试使用 lockf 来锁定 XML 文件。我使用 xerces-c 解析 XML 文件,我需要锁定文件。功能类似于下面的例子:

那么,谁能帮我在这个函数中实现lockf?

0 投票
0 回答
56 浏览

java - 确保单个实例正在运行

我有一些代码来确保我的应用程序的单个实例正在运行,使用锁定文件:

这在 99.9% 的时间里都有效。然后昨天,在生产中,该应用程序的第二个实例成功启动......

这段代码怎么会失败?

0 投票
1 回答
1068 浏览

node.js - 更新收缩包装项目中的间接依赖项

npm(我在npm@5)有没有一种好方法可以为收缩包装/锁定项目中的嵌套依赖项进行版本提升?

执行 annpm install package@latest --save将按预期更新收缩包装文件,但它也会将依赖项添加到package.json,这不是我想要的。执行 annpm install --no-save package@latest将正确跳过更新package.json,但也不会更新收缩包装文件。

有没有一种简单的方法来更新子依赖和收缩包装文件而不接触package.json

0 投票
0 回答
48 浏览

node.js - NPM5 包锁文件

在尝试研究新的锁文件系统如何适用于 NPM 5 的新 package.lock.json 时,我有点困惑。虽然我目前无法测试其中一些问题,但无论哪种方式,我仍然希望在文档中找到答案以解决任何歧义。我的困惑涉及以下行为:

  1. npm install <module> --save
  2. npm update
  3. npm install
  4. 锁定文件版本
  5. 手动编辑

1) 是否最初将模块安装到 package.json 中,如果还没有版本化模块,则仅在 package.lock.json 中安装?

2) 是否更新两个文件中的所有模块?

3) 是否只使用 package.lock.json 来安装所有记录的包?如果锁定文件不存在会发生什么,它会求助于 package.json 吗?

4) 是否维护该特定项目曾经使用过的每个 package.lock.json 的某种记录?如果是这样,您如何查看它们以及如何有效地在它们之间切换?

最后 5) 如果手动编辑 package.json 和/或 package.lock.json 会发生什么?

对我和其他人最有帮助的答案将重申正在回答的问题部分,以避免任何歧义。谢谢!