gpt4 book ai didi

Ruby 守护进程 Gem

转载 作者:太空宇宙 更新时间:2023-11-03 18:02:10 26 4
gpt4 key购买 nike

我安装了 ruby​​ gem 守护进程。为了确保它正常工作,我创建了一个脚本,该脚本每 5 秒打印到一个文件中。然后我创建了另一个文件来运行脚本,使用他们在位于 http://daemons.rubyforge.org/ 的自述文件中为您提供的简单示例.我需要 ruby​​gems 和守护进程。然后我输入“ruby mycontrol.rb start”。他们使用的示例有某种类型的消息说“(myserver.rb 现在正在后台运行)”,我没有看到,但我没有收到任何错误。如果我执行“ps -u myusername”,我会看到进程中列出了要守护进程的文件,但似乎没有运行,因为没有任何内容写入文件。

这是我的来源:

# this is mycontrol.rb

require 'rubygems'
require 'daemons'

Daemons.run(daemon.rb)

和...

# this is daemon.rb

loop do
open('file.out', 'w') do |f|
f.puts 'hello everybody'
end
sleep(3)
end

我做的任何事情有没有让你觉得错了?

谢谢,托尼

最佳答案

我试过你的例子,它对我有用(Ruby 1.8.6 on Linux with Daemons version 1.0.10)。但是,您可能会遇到以下问题:

  • 我发现守护进程 (daemon.rb) 正在使用当前工作目录 / 启动。这不是运行 mycontrol.rb 时的当前目录,也不是包含 daemon.rb 的目录。以非 root 用户身份运行意味着我的进程没有写入文件的权限。我将文件名更改为 /tmp/file.out 并创建了具有预期内容的文件。

  • 您正在以只写 ('w') 模式打开 file.out。这意味着它将每 3 秒被截断和重写一次。如果您以追加 ('a') 模式打开文件,您将看到每 3 秒向文件写入额外的 hello everybody 行。

我也没有看到“正在后台运行”消息。我假设这包含在文档中是为了说明应该发生什么而不是指示输出。

关于Ruby 守护进程 Gem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1758923/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com