2016-05-13 62 views
0

我有运行作为一个命令行程序库。我想给用户设置锁的选项,以便在命令行程序不能运行两次 - 这是 - 如果它启动时,它不能再执行,直到它完成,从任何终端会话。平台独立的系统锁命令行程序

锁应该适用于登录到系统中的任何用户 - 我认为我们用一个文件中的一些原子操作,但这样的结果会有什么样的操作?它必须是安全的。如果出现错误,用户将能够使用--force选项覆盖锁定。

关于如何执行此操作而无需安装任何第三方软件的任何想法?

潜在实现:也许最简单的方法是将文件写入文件系统并在程序退出时将其删除。是排在第二的任何程序将尝试写同样的文件,并得到一个EEXIST错误。

回答

1

尝试在一些共享区域创建锁文件,并检查是否开始

之前退出还要确保在该共享删除文件的权限只对一组管理员