R';函数和Ubuntu控制台给出不同的结果

R';函数和Ubuntu控制台给出不同的结果,r,linux,docker,ubuntu,R,Linux,Docker,Ubuntu,我在我的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

我在我的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/
我希望R获取
/var/lib/docker/
PID
,这是根据Ubuntu2509实现的

有人能帮我理解为什么我会得到不同的结果,以及如何正确获取PID编号吗

谢谢,

在ps包中使用
ps()
。此函数输出带有进程id信息的data.frame

library(ps)

pid_df <- ps()
pid_df$pid[grep("docker", pid_df$name)]
在ps包中使用
ps()
。此函数输出带有进程id信息的data.frame

library(ps)

pid_df <- ps()
pid_df$pid[grep("docker", pid_df$name)]