提升:如何通过名称查找进程的进程id?
问题描述:
我需要一个跨平台的方式来查找名称正在运行的进程,并获得其进程ID。然后使用boost的进程库来终止它。提升:如何通过名称查找进程的进程id?
Boost的进程库需要进程ID是已知的(http://www.highscore.de/boost/process/reference/classboost_1_1process_1_1process.html)
答
我相信不存在这样的跨平台工具。我知道最近的是pgrep
,这是一个程序,而不是一个库,并且它不是Windows的一部分。
在使用procfs的类Unix系统上,您需要扫描/proc
以符合您的需求。我不知道如何在Windows上做到这一点,但我相信这是可能的,它不会比你在* nix上所做的更糟糕。
你所说的“工序名”是什么意思?源自过程的可执行程序的名称?如果该程序有多个实例,您会终止哪一个?进程唯一的唯一标识符是其进程ID(又名PID)。 – lvella 2012-04-19 18:40:20