#r #linux #docker #ubuntu
#r #linux #docker #ubuntu
Вопрос:
Я использую R на своей машине Ubuntu с последней конфигурацией
В 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 извлекал PID
из /var/lib/docker/
, что соответствует Ubuntu 2509
Кто-нибудь может помочь мне понять, почему я получаю другой результат и как правильно получить номер PID?
Спасибо,
Ответ №1:
Используйте ps()
в пакете ps. Эта функция выводит data.frame с информацией об идентификаторе процесса.
library(ps)
pid_df <- ps()
pid_df$pid[grep("docker", pid_df$name)]
или в одной строке:
subset(ps(), grep("docker", name))$pid