有没有办法编写一个C代码,让我们确定一个应用程序的前一个实例是否已经在运行?我需要用Linux和Windows的便携方式来检查它们,两者都使用最新版本的GCC可用。如何确定应用程序是否已在运行? C portable Linux/Win
任何可移植代码的例子都会有很大的帮助。我现在看到两个选项:
- 检查进程列表。这里的linux有很好的工具,但我不认为这些功能适用于windows。也许一些gnu库都适合这么做?什么库或功能?
- 保存并锁定文件。现在,如何以两种系统都能理解的方式做到这一点?一个问题是在哪里保存文件?路径树与每个系统不同。另外,如果选择了相对路径,两个应用程序仍然可以在不同目录中使用不同的锁定文件运行。
谢谢! Beco。
PS。 SO有不同的要求,所以如果你知道一个而不是另一个,请回答。毕竟,如果没有可移植的“单一”方式,我仍然可以使用#ifdef和提出的代码作为答案。
C语言(不是C++),控制台应用程序,GCC,Linux和Windows
嗨@Keith。该目录的完整路径是什么?有没有可用的变量?我编辑了这个问题,解释了在两个系统中尝试这样做时出现的一些疑问。谢谢你的时间! – 2011-04-13 06:39:17