获取正在运行的进程列表

Posted

技术标签:

【中文标题】获取正在运行的进程列表【英文标题】:Get list of running processes 【发布时间】:2014-01-21 14:45:24 【问题描述】:

我正在使用 Windows 机器,并希望直接从 R 获取所有正在运行的进程的列表(基本上是进程 ID 和正在运行的程序的路径)。

我知道Sys.getpid() 可以让我获得当前 R 进程的进程 ID,但是否还有一些东西可以让我在机器上运行所有进程,就像我在 Linux 中使用topps -x 获得的一样

【问题讨论】:

***.com/questions/53489/… 谢谢,我太专注于在以 Sys 开头的包库中查找内容。 【参考方案1】:

你可以使用tasklist:

system2( 'tasklist' , stdout = TRUE )
  [1] ""                                                                            
  [2] "Nom de l'image                 PID Nom de la sessio Num‚ro de s Utilisation "
  [3] "========================= ======== ================ =========== ============"
  [4] "System Idle Process              0 Services                   0        24 Ko"

EDIT获取R进程:

grep("^rsession",readLines(textConnection(system('tasklist',intern=TRUE))),value=TRUE)
[1] "rsession.exe                  6772 Console                    1   387,420 Ko"
[2] "rsession.exe                  7984 Console                    1    48,436 Ko"
[3] "rsession.exe                  1272 Console                    1    80,572 Ko"

【讨论】:

mac 怎么样 :) top 在终端中工作,当然,但不是直接来自 R(错误打开终端:未知)

以上是关于获取正在运行的进程列表的主要内容,如果未能解决你的问题,请参考以下文章

如何获取系统上正在运行的进程列表并按各种参数对其进行排序

如何获取绑定到我正在运行的控制台窗口的进程列表,该列表也适用于 Windows 2000?

是否有任何 C 函数或 API 来获取在当前登录用户下运行的进程列表

附加到正在运行的 Windows 进程

使用子进程 popen 运行列表命令字符串并获取输出

如何在C#中获取给定服务的子进程列表?