我在具有最新配置的Ubuntu计算机中使用R
在R中,我得到以下结果:
> read.fwf(pipe('ps -ef | grep /var/lib/docker/'), width = 60)
V1
1 root 29155 29151 0 11:18 pts/0 00:00:00 sh -c ps -ef
2 root 29157 29155 0 11:18 pts/0 00:00:00 grep /var/li
但是在Ubuntu控制台中我得到了不同的结果
ps -ef | grep /var/lib/docker/
root 29150 2509 0 11:17 pts/0 00:00:00 grep --color=auto /var/lib/docker/
根据Ubuntu 2509,我希望R提取PID
中的/var/lib/docker/
有人可以帮助我理解为什么我得到不同的结果以及如何正确获取PID号吗?
谢谢
答案 0 :(得分:0)
在ps软件包中使用ps()
。此函数输出带有进程ID信息的data.frame。
library(ps)
pid_df <- ps()
pid_df$pid[grep("docker", pid_df$name)]
或一行:
subset(ps(), grep("docker", name))$pid