EyeCandy HTMLバージョンを読むには、Linux_Statにアクセスしてください。
LinuxStatを使用すると、Linuxシステムのステータスを読み取ることができます。 CPUの統計と使用法、メモリの統計と使用法、スワップ統計と使用法、バッテリーの使用、BIOS情報、カーネルの詳細、ローカルIP、OSの詳細とParse OS-Release + LSB-Releaseなどを表示できます。
Linuxでのみ機能し、OSの検出はこの宝石のユーザーまでです。
| 目次 |
|---|
| ランタイム依存関係 |
| 依存関係を構築します |
| オプションのランタイム依存関係 |
| インストール |
| 使用法 |
| メモ |
| 返品タイプ |
| Ruby on Rails |
| アンドロイド |
| このリポジトリのクローニング |
| 発達 |
| テスト |
| 貢献 |
| ライセンス |
| 言語 |
# 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
Ruby 2.3.0+がある場合は、 *AmazonLinuxおよび *CentosでLinux_Statを実行できます。
# zypper install gcc ruby ruby-devel make
linuxStat :: usbおよび/またはlinuxstat :: pciを使用する場合、ベンダーと製品IDをデコードするにはhwdataが必要です
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 | システムのBIOS関連の情報 |
| LinuxStat ::バッテリー | Systemの最初のバッテリー不動産情報 |
| LinuxStat :: CPU | システムのCPU使用およびその他の関連情報 |
| LinuxStat :: FS | システムのファイルシステム関連情報。ファイルシステムモジュールで使用されています。 |
| LinuxStat :: Filesystem | システムのファイルシステムの使用およびその他の関連情報 |
| LinuxStat :: ftw | ファイルツリーウォーク:ファイルを歩き、独自のファイルとサブファイルとディレクトリに関連するデータを提供します |
| LinuxStat :: Kernel | システムのカーネル関連情報 |
| LinuxStat ::メモリ | システムのメモリ(RAM)使用およびその他の関連情報 |
| LinuxStat ::マウント | システムのマウントポイント関連情報 |
| LinuxStat :: Net | システムのインターネット使用およびその他の情報 |
| LinuxStat :: OS | システムのOS関連情報と解析ファイル |
| LinuxStat :: PCI | システムのPCIデバイス関連情報(HWDATAのオプションの解析) |
| LinuxStat :: prettifyBytes | バイトを人間の読み取り可能な形式(KB、KIBなど)に変換する |
| LinuxStat :: procfs | CのPROCファイルシステムを読み取り、アクセスを速くしてください。使用済み |
| LinuxStat ::プロセス | システムのプロセスと関連情報 |
| LinuxStat :: processInfo | システムの単一プロセスCPU、メモリ使用、CPU時間など情報 |
| LinuxStat :: Swap | システムのスワップ関連情報 |
| LinuxStat :: Sysconf | 他のLinuxStatモジュールで使用されているため、Paysize、Max Children、Open Filesなどのさまざまなシステムの詳細を提供します |
| LinuxStat :: Sysinfo | 他のLinuxStatモジュールで使用される、TotalRam、Freeram、TotalHigh、Load Averageなどの情報へのより速いアクセス。 |
| LinuxStat ::サーマル | システムの熱ステータス、ファン関連情報、センサー数、ファンカウントなど。 |
| LinuxStat :: USB | システムのUSBデバイス関連情報およびその他のカウント(HWDATAのオプションの解析) |
| LinuxStat :: uname | 他のLinuxStatモジュールで使用されているCでのシステムのUname情報は、 unameコマンドによっても提供されます。 |
| LinuxStat ::ユーザー | システムのさまざまなユーザー関連情報は、現在のユーザー名、ホームディレクトリなどを提供します。 |
現在の使用法を計算するには、指定された間隔で2つの使用法を取得し、1番目から2番目の使用法を差し引く必要があります。たとえば、現在のダウンロード( LinuxStat::Net.total_bytes_received )が1000バイトの場合、0.1秒前の場合、それは100バイトであった場合、それは0.1秒で900バイトが受信されました。つまり、現在の速度は9000バイト/sまたは9 kb/sです。
投票がなければ、現在の使用法を計算することは実際には不可能です。ただし、合計使用量を計算できます。システムモニターもそれを行います...
したがって、これらの方法にはポーリング間隔が必要です。
それらは特定の間隔で眠り、その後データを区別します。
詳細については、上記の方法については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秒間待つことはありませんが、すべてのループでCPU使用量を更新しません。したがって、0.5秒の間隔ごとにCPU使用で見られるもの。
また、カウンターが狂ったように増加するのがわかります。つまり、0.5秒間待たれていません。
しかし、他の方法にはこの遅延がありません。したがって、この例では、Linuxカーネルがデータを更新し、Rubyがループを実行するとすぐに、「Total Download」と「Total Upload」をリアルタイムで見ることができます。
linuxstat.rbコマンドを実行して、マイクロ秒で測定された時間がかかる方法をテストします。
CPUの数を数えるための6つの異なる方法が混乱しています。しかし、彼らはここにいます。
さて、このセクションは実際にメソッドを分かります。
LinuxStat::CPU.count() :システムに設定されたCPUを取得します。ホットプラグ付きCPUにはカウントされません。 4つのCPUのうち3つがホットプラグアウトされている場合、それはまだ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() :これにより、オンラインCPUの数が配列として返されます。タスクセットなどの影響を受けません。
例えば:
irb(main):001:0> require 'linux_stat'
=> true
irb(main):002:0> LinuxStat::CPU.online
=> [0, 1, 3]
LinuxStat::CPU.online.countを使用すると、システム上の実際のオンラインCPUをカウントします。
任意のN数CPUはホットプラグを出し入れする可能性があり、これはそれを正しく報告します。
/proc /statから情報を取得するだけです。ただし、障害が発生した場合は、/sys/devices/system/cpu/onlineを読み取り、出力を解析して配列を取得します。
LinuxStat::CPU.count_onlineこれは、オンラインCPUをカウントするより堅牢な方法です。すべてではないにしても、ほとんどの場合に失敗するべきではありません!しかし、それが本当に不気味な理由で失敗した場合、それはnilを返します。
LinuxStat::CPU.offline() :
これにより、アレイとしてオフラインCPUの数が返されます。タスクセットなどの影響を受けません。
例えば:
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に繰り返されるかもしれませんが、実際にはそうではありません!
ループ中に使用している場合、毎回正しい数のCPUを報告しない場合があります。
最悪なことに、CPUの総数を更新するのに長い時間がかかる場合があります。
利点は、それは非常に速いということです!
それは主に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は、プロセスのプロセスIDを含む引数を取得できます。デフォルトでは、$$または現在のプロセスであるRuby自体のPIDです。
例: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モジュールは、STATVFSから収集されたハッシュの生の情報を提供します。
これを直接実行することを提案されていないため、上記では文書化されていません。しかし、それは問題を引き起こすべきではありません。 LinuxStat::Filesystem.stat_raw(fs = '/')それを自動的に行います。
それは常に議論を必要とし、それは非常に速いです。中間ルビーコードなしでC APIを直接呼び出します。
たとえば、「/」または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
または現在のユーザーを取得するには(たとえばDockerで):
$ 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モジュールは、実際に/usr/share/hwdata/で見つかった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や他のオンラインPaasの問題に直面するかもしれません。したがって、バージョン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')
./hwdataディレクトリの下にpci.idsとusb.idsがあると仮定します。
Railsでは、これ( __dir__ Rails.rootに置き換えます)を環境内に置くことができます。
ただし、ファイルは一度だけ設定できることに注意してください。アプリの最初にそれを行うことが提案されています。
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ドキュメントをお読みください。
一般に、メソッドがフロート、整数、または時間のいずれかを返す場合、すべての場合にフロートまたは整数または時間を返します。ただし、ステータスが利用できない場合は、nilを返します。
メソッドがハッシュ /配列を返す場合、すべての場合にハッシュ /配列を返します。ステータスが利用できない場合、空のハッシュ /配列が返されます。
メソッドが文字列を返す場合、すべての場合に戻り文字列を返します。ステータスが利用できない場合、空の冷凍文字列が返されます。
使いやすさのためにランタイムで発生するエラーの実装はありません。
整数またはフロートを返す統計を確認する必要がある場合、およびnilを取得する場合は、それが利用できないことを知っているので、それに応じて作業できます。ただし、あらゆる形式に0の整数またはフロート値が必要な場合は、オブジェクトで.to_iまたは.to_fメソッドを使用できます。NILは数値に変換されます。
何らかのエラーが発生した場合、バグとして報告する必要があります。
gem linux_statを追加するだけです: $ bundle add linux_stat
LinuxStatをRailsで直接使用できます。
LinuxStatはAndroid OSをサポートしています。しかし、Androidアプリのようなすべてのデバイスで厳密にテストされていません。
しかし、Termuxでは、問題に直面することなくLinuxStatを実行することができます。ホットプラグ機能により、CPUカウントが異なる場合があることに注意してください。したがって、CPUカウントが変更されているのを確認した場合、それについて何もすることはありません。
TermuxでLinuxStatの実行に関する問題も歓迎します。
この宝石のユーザーは、上記のインストールステップに従ってこの宝石をインストールするように要求されます。
このレポは、開発目的のみを目的としています。安定したアプリに最悪の場合は、拡張機能があります。クローン化、このリポジトリからコードをコンパイルして、プロダクションアプリの障害をセグする可能性があり、アプリ全体を直接クラッシュさせる可能性があります。
Rubygemsの宝石は、さまざまなテストの後にリリースされます。
したがって、宝石をインストールするだけで、このレポをクローンしないでください。バージョンに新しい機能が詰まっているからといって、gemがrubygems.orgに出ていません。
リポジトリをチェックアウトした後、この宝石をコンパイルしてインストールして、 bundle exec rake installを使用してローカルマシンにインストールします
また、実験を可能にするインタラクティブなプロンプトのbin/consoleを実行することもできます。
すべてのモジュールをテストするには、 rake install実行してからexe/linuxstat.rb実行します。また、以下の「テスト」も確認してください。
他の宝石と同様に、これにはRSPECのようなテストはありません。
さまざまなLinuxシステムでexe/linuxstat.rbファイルを使用してテストすることをお勧めします。
まず、この宝石をコンパイルしてインストールするには、 bundle exec rake installを実行する必要があります。
特定のモジュールをテストする必要がある場合は、CPUを使用して、次のように実行するだけです。
$ ruby exe/linuxstat.rb CPU
または:
$ ruby exe/linuxstat.rb cpu
つまり、渡された議論はケースに敏感ではありません。しかし、渡された引数が利用できず、完全に間違っている場合、すべてのモジュールメソッドを実行します。たとえば、できません:
$ ruby exe/linuxstat.rb upc
これは有効なモジュールではなく、実行できません。
バグレポートとプルリクエストは、https://github.com/souravgoswami/linux_statのGithubで大歓迎です。
宝石は、MITライセンスの条件の下でオープンソースとして利用できます。