Для чтения версии HTML Eyecandy, посетите Linux_stat.
Linuxstat позволяет прочитать состояние системы Linux. Он может показать вам статистику и использование процессора, статистику и использование памяти, статистику и использование обмена, использование батареи, информация о биосах, сведения о ядре, локальный IP, детали ОС и релиз ОС Parse + LSB-релиз и т. Д.
Он работает только на Linux, а обнаружение ОС является пользователем этого драгоценного камня.
| Оглавление |
|---|
| Зависимости времени выполнения |
| Построить зависимости |
| Необязательные зависимости времени выполнения |
| Установка |
| Использование |
| Примечания |
| Возврат типы |
| Руби на рельсах |
| Android |
| Клонирование этого репо |
| Разработка |
| Тестирование |
| Внося |
| Лицензия |
| Языки |
# pacman -S gcc make ruby
# apt install gcc build-essential ruby ruby-dev build-essential
# emerge --ask dev-lang/ruby
# yum install gcc ruby-devel ruby make
Вы можете запустить linux_stat на *AmazonLinux и *centos, если у вас есть Ruby 2.3.0+.
# zypper install gcc ruby ruby-devel make
Вам нужны Hwdata, чтобы декодировать поставщика и идентификаторы продукта, если вы используете Linuxstat :: USB и/или Linuxstat :: PCI
Вы можете установить Hwdata просто.
# pacman -S hwids
# apt install hwdata
# emerge --ask sys-apps/hwids
# yum install hwdata
zypper install hwdata
Но без Hwdata это не покажет такой информации.
Вы также можете указать на загруженную копию файла hwdata (pci.ids / usb.ids).
Следуйте примечание 7 ниже для получения дополнительной информации об этом.
Добавьте эту строку в Gemfile вашего приложения:
gem 'linux_stat'А затем выполнить:
$ bundle install
Или установите его самостоятельно как:
$ gem install linux_stat
Ниже приведены модули Linuxstat и функции модулей в таблице. Usages.md генерируется командой linuxstat.rb -md , которая доступна после установки.
Для простоты использования Linuxstat также назначается постоянной LS. Так что Linuxstat :: USB может быть заменен на LS :: USB, например.
| Модуль Linuxstat | Описание |
|---|---|
| Linuxstat :: Bios | Информация, связанная с биосом системы |
| Linuxstat :: Батарея | Первая реализованная информация системы системы |
| Linuxstat :: CPU | Использование процессора системы и другая связанная информация |
| Linuxstat :: fs | Информация о файловой системе системы. Он используется модулем файловой системы. |
| Linuxstat :: файловая система | Использование файловой системы системы и другая связанная информация |
| Linuxstat :: FTW | Прогулка дерева файлов: проходит через файл и дает вам данные, связанные с его собственными, суб -файлами и каталогами |
| Linuxstat :: ядра | Информация, связанная с ядрами системы |
| Linuxstat :: память | Использование памяти системы (ОЗУ) и другая связанная информация |
| Linuxstat :: Mounts | Информация, связанная с Mount Mount Point |
| Linuxstat :: net | Использование интернета системы и другая информация |
| Linuxstat :: OS | Информация, связанная с ОС, и файлы выпуска Parse |
| Linuxstat :: PCI | Информация System's PCI, связанная с устройством (необязательный анализ HWDATA) |
| Linuxstat :: prettifybytes | Преобразовать байты в читаемый формат человека (KB, KIB и т. Д.) |
| Linuxstat :: procfs | Прочтите файловую систему Proc в C для более быстрого доступа. Используется начисление |
| Linuxstat :: Process | Процессы системы и связанная информация |
| Linuxstat :: ProcessInfo | Один процессор системы системы, использование памяти, время процессора и т. Д. |
| Linuxstat :: Swap | Информация об обмене системы |
| Linuxstat :: sysconf | Используются другие модули Linuxstat, предоставляют различные данные системы, такие как PageSize, Max Children, Open Files и т. Д. |
| Linuxstat :: sysinfo | Используется другими модулями Linuxstat, более быстрый доступ к информации, такой как TotalRam, Freeram, TotalHigh, среднее значение нагрузки и т. Д. |
| Linuxstat :: Thermal | Тепловое состояние системы, информация, связанная с фанатами, количество датчиков, количество поклонников и т. Д. |
| Linuxstat :: USB | Информация о USB -устройстве системы и другие подсчеты (необязательный анализ HWDATA) |
| Linuxstat :: Uname | Используется другими модулями Linuxstat, информацией System Uname в C, которая также предоставляется командой uname . |
| Linuxstat :: user | Системы «Различная информация, связанная с пользователем», предоставляет текущее имя пользователя, домашний каталог и т. Д. |
Чтобы рассчитать текущее использование, нам нужно получить два использования в данном интервале и вычесть 2 -го из 1 -го. Например, если текущая загрузка ( LinuxStat::Net.total_bytes_received ) составляет 1000 байт, и если 0,1 секунды назад, это было 100 байтов, это означает, что 900 байт были получены за 0,1 секунды. Это означает, что текущая скорость составляет 9000 байт/с или 9 кб/с.
Без опроса невозможно рассчитать текущее использование. Хотя общее использование может быть рассчитано. Системный монитор тоже делает это ...
Таким образом, эти методы требуют интервала опроса:
Они спят в течение данного интервала, а затем различают между данными.
Для получения дополнительной информации посмотрите на документацию RI для приведенных выше методов.
Эти методы могут немного замедлить ваше приложение, если вы не реализуете их в потоке.
Другие методы не реализованы сон, и они просто работают за миллисекунду.
Например:
LinuxStat::CPU.stat(0.1)
=> {0=>7.69, 1=>0.0, 2=>0.0, 3=>18.18, 4=>10.0}
Это будет спать в течение 0,1 секунды. Чтобы быть надежным, используйте время, как 0,05 секунды или около того.
Если вы хотите создать системный монитор и не хотите ждать, вы должны сделать что -то вроде этого:
#!/usr/bin/ruby
require 'linux_stat'
usages = []
thread = Thread.new { }
counter = 0
while true
thread = Thread.new { usages = LinuxStat::CPU.usages(0.5).values } unless thread.alive?
# clears the screen and prints the info
puts "e[2Je[He[3J"
"#{counter += 1}n"
"e[1;33mTotal CPU Usage:e[0m #{usages[0]}%n"
"#{usages[1..-1].to_a.map.with_index { |x, i| "e[1;33mCore #{i}e[0m => #{x}%n" }.join}"
"Total Download: #{LinuxStat::PrettifyBytes.convert_decimal LinuxStat::Net.total_bytes_received}n"
"Total Upload: #{LinuxStat::PrettifyBytes.convert_decimal LinuxStat::Net.total_bytes_transmitted}"
end
Это не будет ждать в каждом цикле в течение 0,5 секунды, но не будет обновлять использование ЦП в каждом цикле. Итак, что вы увидите в использовании процессора в каждые 0,5 секунды.
Вы также увидите, что счетчик увеличивается как сумасшедший. Это означает, что он не будет ждать 0,5 секунды.
Но другие методы не имеют этой задержки, таким образом, в этом примере вы сможете увидеть «Total Download» и «Total загрузка» в режиме реального времени, вскоре, как только ядро Linux обновляет данные, а Ruby выполняет цикл.
Просто запустите команду linuxstat.rb, чтобы проверить, какой метод требуется, какое время измерено в микросекундах.
Существует непрерывно 6 различных методов, чтобы подсчитать количество процессора. Но они здесь по причине!
Ну, этот раздел фактически демистифицирует методы.
LinuxStat::CPU.count() : Он получает настроенный процессор для системы. Это не считается горячим процессором. Если 3 из 4 процессоров будут горячими, он все равно покажет 4. Он вызывает sysconf(_SC_NPROCESSORS_CONF)
LinuxStat::ProcessInfo.nproc(pid = $$) : [Также псевдоним LinuxStat::ProcessInfo.count_cpu() ]
Он возвращает количество процессоров, таких как другие 3 метода. Без каких -либо аргументов это похоже на работу, require 'etc' ; puts Etc.nprocessors
Таким образом, есть предостережение проверки того, что количество процессоров фактически выделяется на PID.
Например:
$ ruby -r linux_stat -e "puts LS::ProcessInfo.nproc"
4
$ taskset -c 0 ruby -r linux_stat -e "puts LS::ProcessInfo.nproc"
1
$ taskset -c 0-1 ruby -r linux_stat -e "puts LS::ProcessInfo.nproc"
2
$ taskset -c 0-1,3 ruby -r linux_stat -e "puts LS::ProcessInfo.nproc"
3
$ taskset -c 0-1,3 ruby -r linux_stat -e "puts LS::ProcessInfo.nproc "
3
Или с аргументом:
irb(main):001:0> require 'linux_stat'
=> true
irb(main):002:0> LinuxStat::ProcessInfo.command_name 4775
=> "electron"
irb(main):003:0> LinuxStat::ProcessInfo.nproc 4775
=> 4
LinuxStat::CPU.online() :Это возвращает количество онлайн -процессора в качестве массива. На него не влияет Taskset или что -то в этом роде.
Например:
irb(main):001:0> require 'linux_stat'
=> true
irb(main):002:0> LinuxStat::CPU.online
=> [0, 1, 3]
Используя LinuxStat::CPU.online.count вы считаете фактический онлайн -процессор в вашей системе.
Любое количество N CPU может быть горячим, и выходит на горячую и выключен, и это будет сообщать об этом правильно.
Это просто получает информацию от /proc /stat; Но если он не сработает, он будет читать/sys/devices/system/cpu/online и анализировать вывод, чтобы получить массив.
LinuxStat::CPU.count_online Это более надежный метод, который считает онлайн -процессор. Это не должно терпеть неудачу в большинстве случаев, если не во всех случаях! Но если это потерпит неудачу по действительно жутким причинам, он вернет нуль.
LinuxStat::CPU.offline() :
Это возвращает количество автономного процессора в качестве массива. На него не влияет Taskset или что -то в этом роде.
Например:
irb(main):001:0> require 'linux_stat'
=> true
irb(main):002:0> LinuxStat::CPU.offline
=> [2]
Любое количество N CPU может быть горячим, и выходит на горячую и выключен, и это будет сообщать об этом правильно.
Он просто получает информацию от/sys/devices/system/cpu/offline и анализирует вывод.
LinuxStat::Sysconf.processor_configured() : Звучит повторяющееся! На самом деле да, это написано в C, и это называется LinuxStat::CPU.count .
Разница в том, что LinuxStat::CPU.count кэширует возвращаемое значение, а этот метод нет.
LinuxStat::Sysconf.processor_online() :Это может снова звучать повторно для Linuxstat :: cpu.online, но на самом деле это не так!
Если вы используете во время петли, он может не сообщать о правильном количестве процессора каждый раз.
Хуже всего, может потребоваться много времени, чтобы обновить общее количество процессора.
Преимущество в том, что это довольно быстро!
Это в основном здесь только ради полноты для SysConf.
Файловая система может принимать аргументы. По умолчанию это '/' или корень системы ...
Но ради примера, чтобы получить свободное пространство диска /, вы делаете:
$ irb
irb(main):001:0> require 'linux_stat'
=> true
irb(main):002:0> LinuxStat::Filesystem.free('/').fdiv(1024 ** 3).to_s << " GiB"
=> "35.666873931884766 GiB"
Чтобы увидеть свободное и общее пространство падения:
$ irb
irb(main):001:0> require 'linux_stat'
=> true
irb(main):002:0> LinuxStat::Mounts.mount_point('/dev/sdb1')
=> "/run/media/sourav/5c2b7af7-d4c3-4ab4-a035-06d18ffc8e6f"
irb(main):003:0> thumbdrive = _
=> "/run/media/sourav/5c2b7af7-d4c3-4ab4-a035-06d18ffc8e6f"
irb(main):004:0> LinuxStat::Filesystem.free(thumbdrive).fdiv(1024 ** 3).to_s << " GiB"
=> "2.504791259765625 GiB"
irb(main):005:0> LinuxStat::Filesystem.total(thumbdrive).fdiv(1024 ** 3).to_s << " GiB"
=> "29.305004119873047 GiB"
Все методы Linuxstat :: ProcessInfo может принять аргумент, содержащий идентификатор процесса процесса. По умолчанию это $$ или пид текущего процесса, сама Ruby.
Пример: скажем, вы хотите увидеть, сколько потребляет CPU Firefox, потому что вы должны сделать следующее (Firefox может создать много дочернего процесса):
LinuxStat::Process.names.find { |x| x[1].include? 'firefox' }[0]
=> 770 # but this differs all the time
$ irb
irb(main):001:0> require 'linux_stat'
=> true
irb(main):002:0> pid = LinuxStat::Process.names.find { |x| x[1].include? 'firefox' }[0]
=> 770
irb(main):003:0> LinuxStat::ProcessInfo.cpu_usage(pid: pid)
=> 0.0
irb(main):004:0> LinuxStat::ProcessInfo.cpu_usage(pid: pid)
=> 15.0
Чтобы получить воспоминания об использовании Firefox (например):
$ irb
irb(main):001:0> require 'linux_stat'
=> true
irb(main):002:0> LinuxStat::ProcessInfo.mem_stat(LinuxStat::Process.names.find { |x| x[1].include? 'firefox'.freeze }[0])
=> {:memory=>468472, :virtual_memory=>4754080, :resident_memory=>814388}
Чтобы получить только использование памяти в MIB:
$ irb
irb(main):001:0> require 'linux_stat'
=> true
irb(main):002:0> LinuxStat::ProcessInfo.memory(LinuxStat::Process.names.find { |x| x[1].include? 'firefox'.freeze }[0]).fdiv(1024).round(2).to_s << " MiB"
=> "467.51 MiB"
Linuxstat :: FS Module дает вам необработанную информацию в хэш, собранную из StatVFS.
Это не задокументировано выше, потому что не предлагается запустить это напрямую. Но это не должно вызывать никакой проблемы. LinuxStat::Filesystem.stat_raw(fs = '/') делает это автоматически.
Это всегда требует аргумента, и это очень быстро. Он напрямую вызывает API C без какого -либо промежуточного кода Ruby.
Например, чтобы получить информацию о '/' или root:
$ irb
irb(main):001:0> require 'linux_stat'
=> true
irb(main):002:0> LinuxStat::FS.stat('/')
=> {:block_size=>4096, :fragment_size=>4096, :blocks=>29292283, :block_free=>9349843, :block_avail_unpriv=>9349843, :inodes=>58612160, :free_inodes=>56708247, :filesystem_id=>2050, :mount_flags=>1024, :max_filename_length=>255}
irb(main):003:0> t = Time.now ; puts LinuxStat::FS.stat('/') ; Time.now - t
{:block_size=>4096, :fragment_size=>4096, :blocks=>29292283, :block_free=>9349843, :block_avail_unpriv=>9349843, :inodes=>58612160, :free_inodes=>56708247, :filesystem_id=>2050, :mount_flags=>1024, :max_filename_length=>255}
=> 5.0468e-05
Чтобы узнать больше о них, просто запустите RI и имя метода. Чтобы увидеть все доступные методы.
Большинство аргументов Linuxstat :: пользователя поддерживают.
Например, чтобы получить дом пользователя по имени пользователя:
$ irb
irb(main):001:0> require 'linux_stat'
=> true
irb(main):002:0> LinuxStat::User.home_by_username('root')
=> "/root"
irb(main):003:0> LinuxStat::User.home_by_username('ftp')
=> "/srv/ftp"
irb(main):004:0> LinuxStat::User.home_by_username('mail')
=> "/var/spool/mail"
Или чтобы получить дом пользователя за GID/UID:
$ irb
irb(main):001:0> require 'linux_stat'
=> true
irb(main):002:0> LinuxStat::User.homes_by_uid(1001)
=> ["/home/userx", "/home/userz"]
irb(main):003:0> LinuxStat::User.homes_by_uid(1000)
=> ["/home/sourav"]
irb(main):004:0> LinuxStat::User.home_by_gid(1001)
=> "/home/userx"
irb(main):005:0> LinuxStat::User.home_by_gid(1000)
=> "/home/sourav"
irb(main):006:0> LinuxStat::User.home_by_gid(0)
=> "/root"
Или получить UID/GID под именем пользователя:
$ irb
irb(main):001:0> require 'linux_stat'
=> true
irb(main):002:0> LinuxStat::User.uid_by_username('root')
=> 0
irb(main):003:0> LinuxStat::User.uid_by_username('ftp')
=> 14
irb(main):004:0> LinuxStat::User.gid_by_username('ftp')
=> 11
irb(main):005:0> LinuxStat::User.gid_by_username('InvalidUser')
=> nil
Или чтобы получить текущего пользователя (например, в докере):
$ irb
irb(main):001:0> require 'linux_stat'
=> true
irb(main):002:0> LinuxStat::User.get_current_user
=> "x"
irb(main):003:0> LinuxStat::User.get_user
=> "x"
irb(main):004:0> LinuxStat::User.get_login
=> ""
Правильно, get_login () может вернуть пустую строку. Но linuxstat :: user.get_user также псевдоним как linuxstat :: user.get_current_user не должен возвращать пустую строку в большинстве случаев.
Модули PCI и USB фактически полагаются на HWDATA, найденные в/usr/are/hwdata/. Ls :: usb.devices_stat и ls :: pci.devices_stat возвращает информацию в хэш:
$ ruby -r linux_stat -e "puts LS::USB.devices_stat.to_s[0..200]"
[{:path=>"/sys/bus/usb/devices/1-1.2/", :id=>"04d9:1203", :vendor_id=>"04d9", :product_id=>"1203", :bus_num=>1, :dev_num=>7, :hwdata=>{:vendor=>"Holtek Semiconductor, Inc.", :product=>"Keyboard"}, :aut
Но если файлы недоступны, он не вернет информацию, связанную с HWData.
Таким образом, предлагается установить hwdata. Но вы можете столкнуться с проблемами с Heroku и другим онлайн -паасом, где вы не можете его установить. Таким образом, версия 1.1.1+ поставляется с функцией модуля с именем hwdata_file = file .
LS::PCI.hwdata_file = File.join(__dir__, 'hwdata', 'pci.ids')
LS::USB.hwdata_file = File.join(__dir__, 'hwdata', 'usb.ids')
Предполагая, что у вас есть pci.ids и usb.ids в каталоге ./hwdata.
На рельсах вы можете поместить это (заменить __dir__ на Rails.root ) внутри Environment.rb.
Но обратите внимание, что файл может быть установлен только один раз. Это предлагается сделать это в начале вашего приложения.
irb(main):001:0' require 'linux_stat'
=> true
irb(main):002:0> LS::USB.hwdata_file_set?
=> false
irb(main):003:0> LS::USB.devices_stat ; ''
=> ""
irb(main):004:0> LS::USB.hwdata_file_set?
=> true
Это работает на модулях USB и PCI.
Как только файл установлен, вызов LS::PCI.hwdata_file = file бесполезен.
irb(main):001:0> require 'linux_stat'
=> true
irb(main):002:0> LS::PCI.initialize_hwdata
=> true
irb(main):003:0> LS::PCI.initialize_hwdata
=> false
Это вернет True, если он сработает, иначе он вернет ложь. Это предназначено сделать один раз.
Если вы не инициализируете и вызовут методы, которые используют HWDATA, они вызовут его, и первый вызов может занять от 0,1 до 0,2 секунды, последовательные вызовы зайдут менее миллисекунды.
Часто нам нужно работать с KB, MB GB, TB или KIB, MIB, GIB, TIB и т. Д., И нам нужна некоторая работа, чтобы преобразовать байты в эти подразделения. Поскольку Linuxstat предоставляет много данных в байтах и килобитах, довольно утомительно конвертировать их все время. Чтобы избежать такого дублирования, он поставляется с модулем PrettifyBytes.
Например, конвертировать байты в десятичные суффиксы:
$irb
irb(main):001:0> require 'linux_stat'
=> true
irb(main):002:0> LinuxStat::PrettifyBytes.convert_decimal(1000)
=> "1.00 kilobyte"
irb(main):003:0> LinuxStat::PrettifyBytes.convert_decimal(10000)
=> "10.00 kilobytes"
irb(main):004:0> LinuxStat::PrettifyBytes.convert_decimal(100000)
=> "100.00 kilobytes"
irb(main):005:0> LinuxStat::PrettifyBytes.convert_decimal(10 ** 13)
=> "10.00 terabytes"
Для преобразования байтов в двоичные суффиксы:
irb(main):006:0> LinuxStat::PrettifyBytes.convert_binary(1000)
=> "1000.00 bytes"
irb(main):007:0> LinuxStat::PrettifyBytes.convert_binary(10000)
=> "9.77 kibibytes"
irb(main):008:0> LinuxStat::PrettifyBytes.convert_binary(100000)
=> "97.66 kibibytes"
irb(main):009:0> LinuxStat::PrettifyBytes.convert_binary(10 ** 13)
=> "9.09 tebibytes"
Чтобы преобразовать их в короткие метрические десятичные суффиксы:
irb(main):010:0> LinuxStat::PrettifyBytes.convert_short_decimal(1000)
=> "1.00 kB"
irb(main):011:0> LinuxStat::PrettifyBytes.convert_short_decimal(10000)
=> "10.00 kB"
irb(main):012:0> LinuxStat::PrettifyBytes.convert_short_decimal(100000)
=> "100.00 kB"
irb(main):013:0> LinuxStat::PrettifyBytes.convert_short_decimal(10 ** 13)
=> "10.00 TB"
Чтобы преобразовать их в короткие бинарные суффиксы IEC:
irb(main):014:0> LinuxStat::PrettifyBytes.convert_short_binary(1000)
=> "1000 B"
irb(main):015:0> LinuxStat::PrettifyBytes.convert_short_binary(10000)
=> "9.77 KiB"
irb(main):016:0> LinuxStat::PrettifyBytes.convert_short_binary(100000)
=> "97.66 KiB"
irb(main):017:0> LinuxStat::PrettifyBytes.convert_short_binary(10 ** 13)
=> "9.09 TiB"
Он может поддерживать значения до сотен йотабайтов и йобибитов, или YB и YIB. Вы также можете делать такие вещи, как:
$ irb
irb(main):001:0> require 'linux_stat'
=> true
irb(main):002:0> LinuxStat::PrettifyBytes.convert_short_decimal(LinuxStat::Mounts.device_stat('/dev/sdb1')[:total])
=> "31.47 GB"
irb(main):003:0> LinuxStat::PrettifyBytes.convert_short_binary(LinuxStat::Mounts.device_stat('/dev/sdb1')[:total])
=> "29.31 GiB"
irb(main):004:0> LinuxStat::PrettifyBytes.convert_short_binary(LinuxStat::Mounts.device_stat('/dev/sdb1')[:used])
=> "26.80 GiB"
irb(main):005:0> LinuxStat::PrettifyBytes.convert_short_binary(LinuxStat::Mounts.device_stat('/dev/sdb1')[:available])
=> "2.51 GiB"
Прочитайте документацию RI для получения дополнительной информации.
В общем, если метод возвращает либо поплавок, либо целое число или время, он вернет поплавок, целое число или время во всех случаях. Но если статус недоступен, он вернет нуль.
Если метод возвращает хэш / массив, он вернет возвратный хэш / массив во всех случаях. Если статус недоступен, он вернет пустой хэш / массив.
Если метод возвращает строку, он вернется обратной строкой во всех случаях. Если статус недоступен, он вернет пустую замороженную строку.
У него нет реализации какой -либо ошибки, которая возникает во время выполнения для простоты использования.
Если вам нужно проверить какую -то статистику, которая возвращает целое число или плавание, и вы получаете ноль, вы знаете, что он недоступен, так что вы можете работать соответственно. Но если вам нужно целочисленное значение или значение плавания в 0, в любом формате, вы можете использовать метод .to_i или .to_f на объекте, NIL будет преобразован в номер.
Если возникает некоторая ошибка, ее следует сообщать как ошибка.
gem linux_stat : $ bundle add linux_stat
Вы можете использовать Linuxstat напрямую в рельсах.
Linuxstat поддерживает ОС Android. Но он не тестируется на всех приложениях Android.
Но в Termux вы можете просто запустить Linuxstat, не сталкиваясь с проблемами. Обратите внимание, что количество процессоров может отличаться из -за горячей функции. Так что, если вы видите изменение количества процессоров, на самом деле нечего с этим не поделать.
Также приветствуются проблемы, касающиеся запуска linuxstat на Termux.
Пользователям этого драгоценного камня требуется выполнить вышеуказанный шаг установки для установки этого драгоценного камня.
Это репо является только для целей развития. У него есть расширения C, которые могут сделать худшее для вашего стабильного приложения. Клонирование, составление кода из этого репо для производственного приложения, может быть сбоем и сбой всего приложения напрямую.
Драгоценные камни на Rubygems выпускаются после различных тестов.
Так что просто установите драгоценный камень, не клонируйте это репо только потому, что версия сталкивается здесь с новыми функциями, а драгоценный камень не находится на rubygems.org.
После проверки репо, составьте и bundle exec rake install этот драгоц
Вы также можете запустить bin/console для интерактивной подсказки, которая позволит вам экспериментировать.
Чтобы протестировать все модули, запустите rake install , а затем exe/linuxstat.rb . Также проверьте «тестирование» ниже.
Как и другие драгоценные камни, у этого нет теста, как RSPEC.
Мы предлагаем использовать файл exe/linuxstat.rb в различных системах Linux для тестирования.
Сначала вам нужно выполнить bundle exec rake install для компиляции и установки этого драгоценного камня.
Если вам нужно проверить конкретный модуль, скажем, процессор, просто запустите его так:
$ ruby exe/linuxstat.rb CPU
Или:
$ ruby exe/linuxstat.rb cpu
То есть, принятый аргумент не чувствителен к случаям. Но если сданный аргумент не доступен и прямо неправильно, он запустит все методы модуля. Например, вы не можете сделать:
$ ruby exe/linuxstat.rb upc
Это не действительный модуль и не может быть запущен.
Отчеты об ошибках и запросы на тягу приветствуются на GitHub по адресу https://github.com/souravgoswami/linux_stat.
Драгоценный камень доступен в качестве открытого исходного кода в соответствии с условиями лицензии MIT.