скрипт каталога /proc

#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