gpt4 book ai didi

ruby - 在 Ruby 中产生一个后台进程

转载 作者:数据小太阳 更新时间:2023-10-29 06:23:06 26 4
gpt4 key购买 nike

我正在为一个学校项目编写一个 ruby​​ 引导脚本,这个引导过程的一部分是启动几个后台进程(已编写并正常运行)。我想做的是:

`/path/to/daemon1 &`
`/path/to/daemon2 &`
`/path/to/daemon3 &`

但是,这会在第一次调用执行 daemon1 时阻塞。我看到了对 Process.spawn 方法的引用,但这似乎是 1.9+ 的功能,我仅限于 Ruby 1.8。

我也尝试过从不同的线程执行这些守护进程,但我希望我的引导脚本能够退出。

那么我怎样才能启动这些后台进程,以便我的引导脚本不会阻塞并可以退出(但仍然有守护进程在后台运行)?

最佳答案

只要您在 POSIX 操作系统上工作,就可以使用 forkexec

fork = 创建一个子进程

exec = 用另一个进程替换当前进程

然后您需要通过 Process.detach 通知您的主进程对创建的子进程不感兴趣。

job1 = fork do
exec "/path/to/daemon01"
end

Process.detach(job1)

...

关于ruby - 在 Ruby 中产生一个后台进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2504445/

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