【问题标题】:It is necessary to obtain parent process_id and username about the process in phpphp中需要获取进程的父进程id和用户名
【发布时间】: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


【解决方案1】:

您可以同时运行两者并按 process_id 对结果进行分组。迭代两个结果集并找到 process_id 匹配项。

【讨论】:

    猜你喜欢
    • 2011-07-16
    • 2017-05-23
    • 1970-01-01
    • 2016-01-20
    • 1970-01-01
    • 1970-01-01
    • 2017-11-08
    • 2013-08-11
    相关资源
    最近更新 更多