簡體   English   中英

Ruby Process.daemon:打開/關閉

[英]Ruby Process.daemon: turning on/off

我試圖守護運行在2.1.1上的Ruby腳本。

我的守護程序部分代碼如下所示:

case ARGV[0]
when "-start"
  puts "TweetSearcher started."
  Process.daemon
when "-stop"
  Process.kill(9,Process.pid) 
else
  puts "Lacks arguments. Use -start/-stop"
  abort
end

但是,看起來Process.kill(9,Process.pid)並沒有殺死我想要的東西。 我想殺死一個先前在后台運行的“ ruby tweetsearcher.rb -start ”。

我該如何進行?

通常,PID存儲在文件中,然后讀取該文件將其停止。

調用Process.kill(9,Process.pid)殺死“停止程序”進程本身,而不是試圖停止的進程。

這是使用Ruby編寫守護程序的指南: http : //codeincomplete.com/posts/2014/9/15/ruby_daemons/

如您所見,這不是一個微不足道的過程。

這是另一個博客,建議您根本不要嘗試守護進程,而應該依靠流程監視系統來解決這些問題: https : //www.mikeperham.com/2014/09/22/dont-daemonize -您的守護程序/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM