3

我目前正在开发一个提供可执行文件的 RubyGem。可执行文件使用 FSSM gem 跟踪一些日志文件的状态。

这个可执行文件应该开始,在后台做一些事情,然后停止。

例如:

$ my_executable start
# do something different...
$ my_executable stop

我会首先在 start 方法中启动一个新进程,它会执行文件监视。但我不知道如何解决这个过程来阻止它。

提供这种行为的最佳方式是什么?

问候

4

2 回答 2

4
pid = Process.fork{exec 'gcalctool'} #don't use 'system' or `executable`
1.upto(10) do |n|
  puts "counting #{n}"
  STDOUT.flush
  sleep 1
end
Process.kill( 'HUP', pid )
于 2010-08-26T20:05:47.880 回答
0

有一个守护进程库可以帮助你守护你的 ruby​​ 脚本。它被杂种使用。

ruby-toolbox上还描述了一些其他有用的 gem 。

于 2010-08-26T19:32:53.513 回答