Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 已经启动了多少个控制台应用程序副本_C - Fatal编程技术网

C 已经启动了多少个控制台应用程序副本

C 已经启动了多少个控制台应用程序副本,c,C,我有一个用C编写的控制台应用程序。在这个应用程序中,我想确定控制台应用程序已经启动了多少个副本。谢谢。我发现谷歌在搜索。它涉及的知识并不多。这只适用于Windows。在unix中,这可以通过使用相应的unix IPC以类似的方式完成 稍后编辑:也可以找到。它仅统计具有给定进程名称Windows的进程数。一种方法是访问操作系统的进程列表,并统计可执行文件出现的次数。但这可能会被具有不同名称的可执行文件的多个副本所愚弄 为了确保不管可执行文件名如何,都能计算所有事件,您可以创建一个受同步访问保护的全

我有一个用C编写的控制台应用程序。在这个应用程序中,我想确定控制台应用程序已经启动了多少个副本。谢谢。

我发现谷歌在搜索。它涉及的知识并不多。这只适用于Windows。在unix中,这可以通过使用相应的unix IPC以类似的方式完成


稍后编辑:也可以找到。它仅统计具有给定进程名称Windows的进程数。

一种方法是访问操作系统的进程列表,并统计可执行文件出现的次数。但这可能会被具有不同名称的可执行文件的多个副本所愚弄


为了确保不管可执行文件名如何,都能计算所有事件,您可以创建一个受同步访问保护的全局共享内存对象,当然,每个实例都会注册其进程ID。然后,您可以解析该列表并根据操作系统进程ID列表进行验证,以防任何实例在注销自己之前死亡。

我认为您需要指定运行控制台应用程序的平台/操作系统。我猜是Windows的某个版本。