我有一个用C编写的控制台应用程序。在这个应用程序中,我想确定已经启动了多少个控制台应用程序副本。谢谢。
答案 0 :(得分:0)
我发现了this谷歌搜索。它涉及IPC的一些知识(不多)。这仅适用于Windows。在unix中,这可以通过使用相应的unix IPC以类似的方式完成。
稍后编辑:也找到this。它计算具有给定进程名称的进程数(仅限Windows)。
答案 1 :(得分:0)
一种方法是访问操作系统的进程列表并计算可执行文件的出现次数。但这可能会被具有不同名称的可执行文件的多个副本所欺骗。
为了确保计算所有出现次数而不管可执行文件名,您可以创建一个全局共享内存对象(当然,使用同步访问保护),其中每个实例都注册其进程ID。然后,您可以解析该列表并根据操作系统进程ID列表进行验证,以防任何实例在取消注册之前死亡。