1

ruby にデーモンがあり、bash コマンドを実行してその出力をプログラムに取得しようとしています。Rubyのバックティック機能を使用して、のようなbashコマンドを実行できls -aます。しかし、topコマンドはリアルタイムであるため、コマンドの出力をプログラムに取り込むことができません。助けて。

リアルタイムのデータが必要な理由は、すべてのプロセスを監視し、メモリの制限に達した場合などにプロセスを強制終了しようとしているからです。やりたくないtop -bn 1

 require 'rubygems'
 require 'daemons'

 options = {
   :backtrace => true,
   :app_name => 'limits_logger',
   :log_dir => '/home/charizard/',
   :log_output => true
 }

 Daemons.daemonize(options)

 puts "#{Time.now} - started #{self}."

 puts %x{ top -b }
4

2 に答える 2

0
IO.foreach("|top -b") { |line| puts line }
于 2013-09-25T09:55:58.957 に答える