问题标签 [daemons]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
180 浏览

ruby - 我的 ruby​​ 脚本的守护进程日志在哪里

我已经像这样对我的红宝石脚本进行了恶魔化

基本上我正在使用 gem https://github.com/thuehlinger/daemons

我在我的 ruby​​ 代码中使用了 puts 语句。所以我想知道在哪里可以找到我的 ruby​​ 脚本的日志。puts 语句的输出在哪里。

对守护进程不太熟悉。

0 投票
0 回答
40 浏览

laravel - 我的守护进程应该有多少个进程?

我有一个带有 nuxt.js 应用程序(Vue.js)的 ubuntu 服务器。

在部署时,我构建了应用程序,并且我有一个运行的守护程序,并且在部署结束时我会杀死它(所以它基本上会重新启动)。

我的问题是:我应该为守护进程拥有多少进程,它们的目的是什么?

Laravel forge 守护进程的截图

0 投票
1 回答
43 浏览

java - 带有服务器端输入的 Java Linux 守护进程/服务

我有一个运行服务的 java 可执行文件。它允许管理员在服务运行时输入命令。它通常需要一个打开的终端才能运行。我通过 ssh 连接到我的服务器。

我可以启动该服务并且它可以工作,但是如果没有关闭服务,我就无法退出终端。

我也无法创建一个简单的守护程序,因为那样我将无权提供服务服务器端输入。

是否有任何类型的守护程序可以让我有一个终端接口用于输入,或者是否有一个持久的 ssh 终端,即使我退出它也会继续运行?

0 投票
1 回答
138 浏览

ruby - Ruby 脚本无法打开 SQLite3 文件,但只能在作为守护进程运行时打开

我正在运行一个脚本(在 AWS EC2 实例上运行),该脚本不断从 API 中提取州立法数据,并将其保存到 SQLite3 .db 文件中。当我尝试在后台将脚本作为守护进程运行时,该进程立即停止,并且出现以下错误。

当我尝试在前台运行脚本时,脚本运行完美,必要的信息被写入 .db 文件。

如何让这个守护进程打开数据库文件?SQLite3 和 Ruby 守护进程在某种程度上不兼容吗?任何信息都会非常有帮助。

这是守护程序脚本的全部内容。

0 投票
1 回答
904 浏览

macos - 如何创建始终在后台运行并收集位置的mac应用程序?

我需要知道如何创建一个始终在后台运行并每 10 分钟收集一次位置信息的应用程序。我对启动代理和守护进程了解不多。

我已经阅读了一些示例,其中我发现 Launch 代理只是一个 plist 文件。我们应该每 10 分钟通过启动代理启动应用程序吗?怎么做?

0 投票
0 回答
66 浏览

macos - 使用 Qt 在 macOS 上以编程方式获取守护进程状态

我需要使用 Qt 从系统托盘应用程序中查询我的守护进程状态。找不到任何解决方案来做到这一点。

对于 Windows 部分,我可以使用 Win32 API:OpenSCManager -> OpenService -> QueryServiceStatus/QueryServiceStatusEx。需要为 Mac 做同样的事情的方法。

守护进程的 plist 位于 LaunchAgents,加载了 launchctl load。

0 投票
2 回答
251 浏览

django - 守护 Celery——没有名为“celery”的模块错误

我正在尝试按照官方文档在 Ubuntu 18 上守护 Celery 4.3.0 。这是为了让 Django 项目卸载密集型任务。

当服务器运行时 celery.service 应该让 Celery worker 可用于处理任务。然而,Apache2 甚至不会运行。如果我tail看到 Apache 日志:

Celery 绝对是为 Python3 安装的。我可以使用celery -A examgap worker -l warning--just 不作为守护进程为我的应用程序独立运行 Celery 工作程序。

如果我启动 Python3 shell,我也可以导入 celery。

我已经查看了几个像这样的现有 SO 问题,并认为我已经消除了一些可能性。例如,守护程序用户是 ubuntu,它对我的​​项目文件夹具有 rwx 权限。

我仍然认为问题出在我的 celery.service 文件和启动守护程序的命令上,要么没有访问正确的文件夹,要么没有使用正确的权限。

这是我的/etc/systemd/system/celery.service

提前致谢。

编辑:这也是我的/etc/conf.d/celery

编辑 2:将 WorkingDirectory 更改为我的项目目录,现在 celery 服务正在运行。然而ModuleNotFoundError: No module named 'celery'仍然存在。

0 投票
1 回答
39 浏览

bash - 检查文件是否存在在启动守护进程中不起作用

好的,所以我有一个无头 Raspberry Pi,很久以前我创建了一个守护进程,让它在启动时播放声音效果,所以我知道它(希望)已经准备好进行 SSH 连接。

工作得很好。

现在我遇到的问题是 Pi 大约每月失去一次联网的能力(我放弃了试图找出原因)并且必须手动重新启动。为了解决这个问题,我在 crontab 中添加了每周重启一次,但它总是在每周六午夜用“BOKU SATCHII!”唤醒我,这在第一次出现的中途就不再有趣了。

我扔掉了一个快速的 shell 脚本,它使用“touch”来创建一个文件“/etc/quietboot”,然后重新启动。这很好用。我将它替换为 crontab 中的重新启动,然后我修改了守护程序,如下所示:

所以想法是,如果文件存在则应该删除它,如果它不存在则播放声音效果。我一直在测试它,它每次都只是播放音效,从不删除 quietboot 文件。我尝试将文件放在 home/pi/ 中,但得到了相同的结果。

我确定我在这里犯了一些基本错误,但我不确定它是什么。谁能帮我吗?

0 投票
1 回答
121 浏览

ruby-on-rails - 继续通过发布者 RabbitMQ (ruby bunny) 发布数据

我有一个兔子使用 consumer.rb 和 publisher.rb 工作的 RabbitMQ。如果我跑

接着

我得到正在发布的数据(来自另一个类的数据)。当我运行 publisher.rb 时,数据在 ruby​​ consumer.rb 上打印如下:

我需要这两个脚本不断运行,以便发布者不断推送数据(@devise.value),我不断看到上述输出。我尝试使用 Daemon 创建一个新的服务器文件并运行 ruby​​ server.rb start。但这确实会继续运行 publisher.rb,但不会一直运行,因此它会发布数据。另外,如何使这个 RabbitMQ ruby​​ 应用程序将数据发布到另一个基于 Web 的 Rails 应用程序?

发布者.rb

需要“兔子”需要“守护进程”

BunnyPublisher 类

服务器.rb

谢谢

0 投票
0 回答
24 浏览

python - 根据存在的 main_thread 杀死一个线程

我想用python3.7创建一个在后台接收输入信号的无限线程。它应该在我的程序停止时停止,所以 main 停止。我将我的线程设置为 daemon=True 但它只是继续运行。之后我还检查了守护进程状态,它是真的。

当我定期检查我的线程时,如果主线程仍然处于活动状态,并且在没有时尝试停​​止它,也会出现同样的问题。main_thread 将始终被视为活动的。

这是我的两种可能性的代码。main 中的输入只是我可以在需要时停止主程序。

这是我通过写入“0”停止主程序并输入输入后的输出:

有没有人有一个想法,为什么它不起作用以及如何解决我的问题?