ruby 守护进程 - 正在运行但无法运行

发布于 2024-09-18 19:07:02 字数 418 浏览 5 评论 0 原文

我已经创建了我的第一个 ruby​​ 守护进程,它运行正常大约一天,但随后它停止运行,但它仍然出现在 /var/run 文件夹中。

这是我的控制代码 -

require 'rubygems'
require 'daemons'
dir = File.dirname(__FILE__)
options = {
 :app_name => "rk_mail",
 :dir_mode => :system,
 :backtrace  => true,
 :log_output => true,
 :monitor    => true
}
Daemons.run(dir + '/mail_receiver.rb', options)

我已经检查了日志,但它们没有显示任何错误

谢谢,亚历克斯

I have created my first ruby daemon and it functions fine for about a day but then it stops functioning but it still appears in the /var/run folder.

here is my control code -

require 'rubygems'
require 'daemons'
dir = File.dirname(__FILE__)
options = {
 :app_name => "rk_mail",
 :dir_mode => :system,
 :backtrace  => true,
 :log_output => true,
 :monitor    => true
}
Daemons.run(dir + '/mail_receiver.rb', options)

I have checked the logs but they dont show any errors

Thanks, alex

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

难以启齿的温柔 2024-09-25 19:07:06

问题是您的脚本在启动守护进程时会将其目录更改为“/”。

这是修复它的方法:

current_dir = Dir.pwd

options = {
  :backtrace => true,
  :app_name => "test",
  :log_dir => "#{current_dir}/log",
  :log_output => true,
  :dir_mode => :normal,
  :monitor => true
}

这会将日志放入与脚本同一目录的日志文件夹中。

The problem is that your script will change its directory to "/" when it starts the daemon process.

Here's a way to fix it:

current_dir = Dir.pwd

options = {
  :backtrace => true,
  :app_name => "test",
  :log_dir => "#{current_dir}/log",
  :log_output => true,
  :dir_mode => :normal,
  :monitor => true
}

This will put the logs inside the log folder that's the same directory as your script.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文