gpt4 book ai didi

c++ - 在 Linux 上防止多个进程实例

转载 作者:IT王子 更新时间:2023-10-29 01:09:25 24 4
gpt4 key购买 nike

在 Linux 平台上,进程(C++ 应用程序)检查其实例尚未运行的最佳方法是什么?

最佳答案

执行此操作的标准方法是在某处创建一个 pid 文件,通常包含程序的 pid。

你不需要把pid放在那里,你可以在上面放一个独占锁。如果您打开它进行读/写并使用 LOCK_EX | 将其聚集LOCK_NB,如果文件已经被锁定,它将失败。这是无竞争条件的,如果程序崩溃,锁会自动释放。

通常您希望为每个用户执行此操作,因此用户的主目录是放置文件的好地方。

如果它是一个守护进程,像/var/run 这样的地方会更好。

关于c++ - 在 Linux 上防止多个进程实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2964391/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com