我在我的 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
,这是根据 Ubuntu 2509
谁能帮我理解为什么我得到不同的结果以及如何正确获取 PID 号?
谢谢,
最佳答案
使用ps包中的ps()
。此函数输出带有进程 ID 信息的数据框。
library(ps)
pid_df <- ps()
pid_df$pid[grep("docker", pid_df$name)]
或在一行中:
subset(ps(), grep("docker", name))$pid
关于R 的 pipe() 函数和 Ubuntu 控制台给出不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55161269/