我用方法system
來啓動一個進程。該進程的pid被存儲在一個文件中worker.pid
日誌進程輸出
但是我需要生成這個進程的日誌,我該如何存儲這個進程的輸出?
進程正在被該命令創建:
system "bundle exec rake resque:work >> ./resque.log QUEUE=* PIDFILE=#{pid_file} &"
P.S:我使用的紅寶石1.8,背景= YES那倒工作。 P.S.2:platform linux
我用方法system
來啓動一個進程。該進程的pid被存儲在一個文件中worker.pid
日誌進程輸出
但是我需要生成這個進程的日誌,我該如何存儲這個進程的輸出?
進程正在被該命令創建:
system "bundle exec rake resque:work >> ./resque.log QUEUE=* PIDFILE=#{pid_file} &"
P.S:我使用的紅寶石1.8,背景= YES那倒工作。 P.S.2:platform linux
你要找也許什麼是IO.popen
這使您可以通過一個IO對象
# fork off a one-off task
# and return the output as a string
ls = IO.popen("ls")
ls.read
# or return an array of lines
IO.popen("ls").readlines
# or create a continuing task
tail = IO.popen("tail -f /some/log/file.log")
loop do
puts tail.gets
end
我建議你閱讀文檔, 但叉掉一個子進程和訪問它的輸出你也可以寫入流,並做各種聰明的東西。
如果我理解你正在努力達到的目標,你正在尋找Open3類。 http://www.ruby-doc.org/stdlib-1.8.7/libdoc/open3/rdoc/Open3.html
我希望能有更像「>>」參數的東西,比如:'./something >> output.txt'我現在可以用C代碼,''example.in >>例子來做到這一點。我正在尋找那樣的東西 –