【发布时间】:2016-07-26 17:06:42
【问题描述】:
需要在php中获取进程信息(php + IIS + WinServer 2012):
- process_id - pid
- 父进程_id - ppid
- 用户名 - 用户名,其名称是在“用户”中显示在任务管理器中的进程
我使用两种方法
exec('C:\Windows\System32\tasklist.exe /FI "pid eq 99999" /FI "USERNAME eq MYUSERNAME"', $output);
如果是这样的进程,它会出现,但我无法获取 parent_process_id :(
如果我使用:
exec('C:\Windows\System32\wbem\wmic.exe process where 'parentprocessid=\"$ppid\"' get parentprocessid,processid"', $output);
我无法获取用户名:(
有人面临挑战或知道如何获取此信息?
【问题讨论】:
-
我不确定这是否有帮助。 php.net/manual/en/function.posix-getppid.php
-
父进程 ID 在 Windows 上是无用的信息。它确实会在创建进程时被记录下来,但它没有被用于任何事情。 “父”进程可以终止,而其子进程继续运行。那时,进程 ID 条目不会更新,现在指向一个不存在的进程,或者更糟的是,完全指向另一个进程,因为进程 ID 确实会被重用。看看这个Q&A。
标签: php winforms winapi process