通过“密钥”识别进程
Posted
技术标签:
【中文标题】通过“密钥”识别进程【英文标题】:Identifying a process via a "key" 【发布时间】:2013-04-19 06:25:55 【问题描述】:是否可以通过密钥识别进程?
例如,假设服务器进程 1 启动 Chrome Web App 进程 1(Chrome Web 应用程序是它们自己的进程)。现在假设我启动服务器进程 2。我已经可以检测到服务器进程 1 是否正在运行(实际上,由于需要我捕获的共享资源,这会导致异常)。所以我要终止服务器进程 2,除了首先我想检查 Chrome Web 应用程序进程 1 是否仍在运行,因为如果是,我不想打开一个新实例,而是只带上旧实例实例放在前面。
假设我可以将键“com.myuniqueurl”与 Chrome Web 应用程序进程 1 相关联。那么当服务器进程 2 启动时,使用键“com.myuniqueurl”搜索任何进程就很容易了。这可能吗?
部分困难在于除了 Chrome Web App Process 1 之外,正常的 Chrome 实例可能正在运行(来自同一个 .exe 文件)。
【问题讨论】:
使用 Win32 API 这很容易(使用命名事件或命名邮槽)。但我不知道您是否可以使用 Web 应用程序可用的机制来做到这一点。 【参考方案1】:不幸的是,我认为如果没有讨厌的 hack,例如使用 CreateRemoteThread 从 Chrome 进程中运行某些东西,这是不可能的。
但在您的情况下,您可能能够枚举进程,通过命令行识别 Chrome Web App Process 1 并将其置于最前面。
【讨论】:
以上是关于通过“密钥”识别进程的主要内容,如果未能解决你的问题,请参考以下文章