问题标签 [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 投票
0 回答
61 浏览

macos - Mac OS X 从守护进程到二进制应用程序设计的通信

我正在设计一个需要命令行应用程序二进制文件才能用于远程/本地使用的应用程序。该应用程序将具有允许用户添加和删除的插件。

  1. NSDistributedNotificationCenter 是否适用于守护进程和二进制应用程序之间的 IPC(进程间通信)?如果不是,我们有什么选择?

  2. 将插件架构添加到守护程序的哪个方向将是与未来 OSX 兼容性相关的“最佳实践”?

  3. 由于可能涉及 KEXT,并且二进制文件(CLI 应用程序)可能未签名,我们是否必须为 CLI 应用程序包含一个捆绑包,以便将来与 KEXT 互操作?

0 投票
1 回答
2998 浏览

python-3.x - Python:杀死一个池的所有进程

我有一个foo()创建多个对象的函数。在我的程序运行期间,此函数被多次调用。为了加快我的代码,我想foo()创建一组进程,并行计算新对象。

这在理论上是可行的,但在foo()我的电脑打了几次电话后就死机了。我认为这些进程在我调用后不会被杀死foo(),尽管我调用了 close 并加入。我究竟做错了什么?

如果我从终端终止程序,我会收到此错误:

编辑

要添加更多信息,当我启动程序时,它最初运行得很快,但随着时间的推移会变慢。随着程序变慢,RAM 消耗量增加,超过了我的 RAM 并填满了 Swap。如果没有多处理,您根本不会注意到任何 RAM 消耗,因为程序非常小。htop仅显示 1 到 4 个进程同时运行。

0 投票
1 回答
767 浏览

linux - 以其他用户身份启动 Docker Daemon

伙计们,我需要在我的 Ubuntu 14.04 下以其他用户身份启动 docker 守护进程。我在 sudoers 组和 docker 组中有这个用户,但是,我需要的是 docker 守护进程作为我的“测试”用户运行。

test@test:/usr/bin$ 启动 docker

start: 拒绝发送消息,1 个匹配规则;type="method_call", sender=":1.88" (uid=1100 pid=24071 comm="start docker") interface="com.ubuntu.Upstart0_6.Job" member="Start" error name="(unset)" requested_reply="0" 目的地="com.ubuntu.Upstart" (uid=0 pid=1 comm="/sbin/init")

在没有 sudo 的情况下,如何在我的“测试”用户下运行 docker daemon?

0 投票
1 回答
1046 浏览

python - 如何使用多处理在 python 中启动守护进程

我想使用退出主线程的多处理来启动一个守护进程。我写了这段代码:

但是守护进程没有出现。我知道我可以像这样使用 os.fork 来解决它:

但它在 Windows 中不受支持。所以我需要一个多处理模块的解决方案。谢谢!

0 投票
2 回答
731 浏览

azure - Azure AD - 具有守护程序服务和授权代码授予流的多租户,目标租户可以生成 client_secret 吗?

我正在通过 OAuth 2.0 协议使用 Azure AD,并且还创建了一个服务/ Dameon 应用程序来处理Microsoft Graph SDK. 对于服务/守护进程,我创建一个HttpWebRequest并传递client_idandclient_secret以生成一个access_token我可以提供给Microsoft Graph SDK.

我还成功地为目标租户创建了相应的服务主体,其中管理员已使用授权代码授予流程向应用程序授予权限。然后,应用程序会显示在Overview -> Quick tasks -> Find an enterprise app(portal.azure.com) 中。

我的问题是有一种方法,我可以利用服务/守护程序方法,同时还允许目标租户的管理员授权应用程序,这将允许目标租户创建一个对该client_secret租户唯一的传递?

0 投票
1 回答
116 浏览

ruby - 如何智能地允许 sinatra 轮询数据

我想设计一个应用程序,其中后端不断轮询不同的传感器,而前端(sinatra)允许通过 json api 或简单地在 html 中显示结果来查看这些数据。

在开发这样的应用程序时我应该考虑哪些因素,以及我应该如何构建应用程序以实现最佳扩展和易于维护。

我的第一个想法是让 sinatra 每次收到对正确端点的请求时都轮询传感器,但这似乎会很快陷入安静,尤其是看到某些传感器如何每隔几秒钟才更新一次。

我的第二个想法是让后台进程(或线程)轮询传感器并存储 sinatra 的值。当收到请求时,sinatra 可以简单地轮询后台进程以获取缓存值(或从线程代码中提取)并将其呈现给客户端。

我更喜欢第二个想法,但我不确定如何开发“后台应用程序”,以便 sinatra 可以轮询它以获取数据以呈现给客户端。另一种选择是让 sinatra 线程化传感器轮询代码,以便它可以在同一进程内简单地从其中获取值,而不是从另一个进程请求它。


请注意,此应用程序还将负责不同继电器的自动化,并且基于传感器,sinatra 仅负责将传感器的状态传递给用户。我认为将后台进程/守护程序中的后端(自动化+传感器信息)与前端(sinatra)分开是理想的,但我不确定如何获取 sinatra 的数据。


有人对我如何构建这个有任何意见吗?如果可能的话,我还希望有一个示例应用程序,它简单地显示了我可以采用和修改的想法。

谢谢

编辑::

经过更多研究后,我发现drb(分布式 ruby​​ http://ruby-doc.org/stdlib-1.9.3/libdoc/drb/rdoc/DRb.html)允许您通过网络对对象进行远程调用。这可能是这个问题的合适解决方案,因为守护进程可以自动化中继,读取传感器并将值存储在类对象中,然后通过 drb 呈现类对象,以便 sinatra 可以调用远程对象上的 getter 来获取来自守护进程的日期数据。这是我最初想要尝试做的。

你们有什么感想?对于这样的应用程序是否可取?

0 投票
2 回答
1010 浏览

python - ValueError:尝试在非包中进行相对导入以在 Flask Web App 中运行独立脚本

我有烧瓶网络应用程序,其结构如下:

在 app/app/cron 我已经编写了独立的守护进程,我想在 docker 之外调用它们。例如python daemon1.py

daemon1.py 代码

from ..common 进口统计

从 ..method 导入 msapi,数据格式化程序

从 ..db_client 导入 db_connection

def run_daemon():

如果名称==“主要”:

因此,当我尝试运行此 daemon1.py 时,它会抛出 ValueError: Attempted relative import in non-package

请建议正确的导入方法以及构建这些守护程序。

提前致谢。

0 投票
2 回答
1704 浏览

ubuntu - 如何在后台 Ubuntu 17.10 中运行 artisan 命令

我正在尝试使用 putty 下面的命令及其工作

但是如果我关闭 ssh (putty) 这个命令会自动关闭。

我想始终在后台运行此命令。

0 投票
1 回答
205 浏览

python - 通过两个子类扩展守护程序类不起作用

这是我正在使用的守护程序类

它充当一个基类,我想从另一个控制器文件中生成 2 个单独的守护进程

这是我在不同文件中使用的代码

在这个文件中,我从单独的类扩展守护程序类并覆盖 run() 方法。

运行 start() 方法的第一个类当前正在运行,并且现在只有网络守护进程可以工作我如何让 2 个类生成 2 个单独的守护进程?

0 投票
2 回答
1348 浏览

ruby - Ruby 的`.present?` 没有Rails?

我正在开发一个用于自动化的“无 Rails”Ruby 守护程序(尽管理论上它在 Rails 目录中运行)。出于一般目的和事情的原则,我想找到(大多数)“本机”/常用方法来利用///的Ruby版本.present?.blank?识别数组或(哈希)值是否存在且不为.empty?.nil?(即,[]{})。

从我读过的(例如,堆栈溢出)和测试来看,所有这些功能似乎都是特定于 Rails 的方法,是 ActiveSupport(?) 的一部分。

来自其他网络/解释器语言(PHP、Python、JS 等),这是一个通用逻辑函数,大多数语言(使用数组,这是大多数)都以一种或另一种方式构建此功能(例如,PHPisset( ... )或 JavaScript .length) .

我知道有 RegEx 解决方法.blank?,但.present?似乎需要异常处理来确定它是否“存在”)。我很难相信它不存在,但很少有人谈论没有 Rails 参与的 Ruby。