2014-01-21 73 views
2

我正在使用Windows計算機,並希望直接從R獲取所有正在運行的進程的列表(基本上是正在運行的程序的進程ID和路徑)。獲取正在運行的進程的列表

我知道Sys.getpid()得到我的當前R進程的進程ID,但確實也存在着一些讓我在機器上運行,我會得到在L​​inux中topps -x

+1

http://stackoverflow.com/questions/53489/how-do-you-list-all-processes-on-the-command-line-in-windows –

+0

謝謝,我太專注於在軟件包基礎中找到一些東西與Sys。 – jwijffels

回答

4

您可以使用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" 

編輯獲得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" 
+1

mac爲什麼:) – rawr

+2

@rawr如OP所述,只需使用'top'或'ps' ....? –

+0

'top'在終端工作,當然,但不直接從R(錯誤開放終端:未知) – rawr

相關問題