#ruby #linux #popen #procfs
#ruby #linux #всплывающее окно #procfs
Вопрос:
Я ищу скрипт ruby, который обращается к /proc
каталогу и сохраняет идентификатор процесса и информацию командной строки ( cmdline
) в файле.
Комментарии:
1. К вашему сведению, существует ошибка ядра, которая не позволяет File.open корректно работать с файлами /proc. Мы столкнулись с этим на самом деле и только исправили это, выложив вместо
cat
.
Ответ №1:
возможно, вам захочется вызвать ps
вместо того, чтобы переходить к /proc
.
cmd=`ps -eo pid,cmd`
o = File.open("output","w")
o.write(cmd)
o.close
Комментарии:
1. Хороший вариант, хотя я бы рекомендовал показывать блочную форму File.open, чтобы дескриптор файла был закрыт для вас:
File.open('output','w'){ |f| f << `ps -eo pid,cmd` }
Ответ №2:
вы также можете запустить скрипт under one liner bash и перенаправить его вывод в любое место, а также выбрать требуемый параметр аргумента для команды head.
ls -alR /proc/$(ls /proc/ |grep -i '[0-9]'|sort -n|head ) > /proc_open_files