使用 system() 时通过 R 捕获 pid 进程

capture pid process via R when using system()

in windows,想使用 R system() 捕获 java pid,如下所示:

system("java -jar .\app.jar john_doe 1600_50_555", wait = FALSE)

尝试过:

grep("^java.exe",readLines(textConnection(system('tasklist',intern=TRUE))),value=TRUE)

想在不使用 grep() 或其他过滤的情况下捕获该 pid。

您可以为此使用 ps 包。

library(ps)
library(dplyr)

system("java -jar .\app.jar john_doe 1600_50_555", wait = FALSE)

pid <- ps() %>% 
  filter(name == "java.exe") %>% 
  pull(pid)