【发布时间】:2011-08-01 04:05:31
【问题描述】:
有没有一种方法可以编写 C 代码来让我们确定应用程序的先前实例是否已经在运行?我需要在 Linux 和 Windows 上以可移植的方式检查这一点,两者都使用可用的 GCC 的最新版本。
任何可移植代码的例子都会有很大的帮助。我现在看到两个选项:
- 检查进程列表。这里linux有很好的工具,但我不认为同样的功能适用于windows。也许两个 SO 都有一些 gnu 库?有哪些库或函数?
- 保存并锁定文件。现在,如何以两个系统都能理解的方式做到这一点?一个问题是在哪里保存文件?路径树因每个系统而异。此外,如果选择了相对路径,两个应用程序仍然可以在不同目录中使用不同的锁定文件运行。
谢谢! 贝科。
PS。 SO有不同的要求,所以如果你知道一个而不是另一个,请回答。毕竟,如果没有可移植的“单一”方式,我仍然可以使用#ifdef 和建议的代码作为答案。
C 语言(不是 c++)、控制台应用程序、gcc、linux 和 windows
【问题讨论】:
标签: c linux windows console-application process-management