问题标签 [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.
java - ProcessBuilder 和守护进程有什么不好的地方
在 ProcessBuilder 的 JavaDoc 上它指出
创建进程的方法可能不适用于某些本机平台上的特殊进程,例如本机窗口进程、守护进程、
Microsoft Windows 上的 Win16/DOS 进程或 shell 脚本。
我的主要问题是 ProcessBuilder 不能很好地与守护进程一起工作吗?ProcessBuilder 不适合作为启动这些类型应用程序的可接受方式怎么办?
谢谢!
ruby - 从 Ruby 脚本运行的 AppleScript 中止陷阱
我有一个 Ruby 程序,除其他外,它执行用户定义的代码块(代码在 Github 上,here)。其中许多块包含系统命令,我正在尝试调试一个非常具体的案例,即在我正在调用的 bash 脚本中执行一段 AppleScript。有问题的脚本用于通过命令行控制 Spotify,这就是代码。
我遇到的问题是每次运行脚本时都会发生中止陷阱错误:
这必须与进行调用的 Ruby 脚本的环境有关,但我无法理解原因。这是调用它的代码块:
yield
当通过套接字连接触发特定事件时,此块通过语句定期运行。该脚本也被守护,使用 ruby gem“daemons”,允许它在后台运行(但仍然作为当前用户,根据ps
和 ruby 环境变量)。不仅如此,每个套接字连接都会启动一个新线程,因此代码在与主线程不同的线程中运行。
在我的调试中,我尝试system "spotify pause"
在守护进程启动脚本后运行该行,没有问题。它在以下脚本中也运行良好:
因此,导致问题的不是启动新线程或本身的守护进程,但它似乎是这些事情的组合,并且可能正在产生块这一事实意味着 AppleScript 正在引发中止陷阱在 bash 脚本中。
如果您可以将自己的许多层复杂化带回现实,我将不胜感激您为解决甚至调试这个奇怪的案例提供的任何建议!
ruby - 守护 Mailman 应用程序
通过运行启动我的邮递员应用程序可以正常rails runner lib/daemons/mailman_server.rb
工作。
从我的守护程序脚本和命令开始时bundle exec rails runner script/daemon run mailman_server.rb
,脚本会生成错误:
我的代码如下:
lib/守护进程/mailman_server.rb
我的脚本/守护程序文件是:
关于为什么它作为守护进程失败的任何见解?
ruby - 如何循环重启守护进程?
我正在尝试使用 Ruby 的daemon
gem 并循环重启具有自己循环的守护程序。我的代码现在看起来像这样:
运行它会给我以下错误(60秒后):
所以显然Daemons.call
不会像我想的那样返回一个可控的守护进程。我需要做什么才能正确设置它。守护进程在这里是正确的工具吗?
ruby - 守护进程不会重新启动?
我正在尝试在多个守护进程中运行相同的脚本。
myapp.rb
看起来像这样:
我的myapp_controller.rb
:
当我ruby myapp_controller.rb start
连续运行几次时,它会创建很多守护进程,正如我所期望的那样。但是,过了一会儿,由于myapp.rb
守护进程中的错误崩溃并且监视器仅重新启动一个而不是全部。所以我最终得到了一个正在运行的守护进程。
为什么?我究竟做错了什么?
ruby - Ruby:记录器和守护进程
我正在使用 ruby 1.9.2p180(2011-02-18 修订版 30909)
为了进行日志记录,我使用日志记录 gem。我的程序有两个块,用作守护进程。
但是从这些块中记录会导致错误,并且不会将任何内容写入日志文件:
以下是代码中发生的情况:
任何想法,那里有什么问题?
ruby - 如何在停止时杀死 ruby Thor 中的所有进程?
我在下面有一个脚本,它使用Thor像 rake 任务管理一样运行ARGV
。
当 start 时ruby script.rb start
,它会生成两个子进程(总共三个)。我的问题是如何在我执行时杀死所有进程ruby script.rb stop
。我在网上看到,在启动时,我应该将 pid 父进程存储到一个文件中,当停止时,我读取它并杀死它。问题是杀死父母不会杀死孩子。所以我可以将所有三个pid都保存在文件中,然后一一杀死。
我在问自己什么是正确的方法,以及我在内部处理流程的方式start
是否正确。
php - 将 PHP 进程作为守护进程运行,同时从后台安全地杀死它
我们正在运行一个 PHP 守护程序,它查看队列,接收工作人员作业并生成工作人员来处理它。工人自己在继续之前获得特定位置的锁定。
我们将守护进程生成为 nohup 后台进程。
整个架构似乎都可以工作,除非我们出于某种原因必须终止进程。如果我们使用 -9 杀死它们,则无法将其捕获在工作进程中并在死前释放锁。
如果我们使用小于 -9 的任何东西(如 TERM 或 HUP),它似乎不会被守护进程或工作进程接收。
有没有人以更好的方式解决了这个问题?
(ps:顺便说一句,由于其他考虑,我们可能无法更改我们的实现语言,所以请只考虑基于 PHP 的解决方案)
python - 开发 Mac OSX/Windows Daemon 服务的工具包
我需要开发一个也存在于系统托盘中的守护程序服务。系统托盘图标允许用户通过右键菜单自定义/访问一些选项。它可能会打开一个窗口,并以更好的方式管理这些选项。
该应用程序主要与 RESTful 服务通信,发布和下载文件。
现在我知道对于任何守护程序服务,它都需要是本地的。然而,我们没有奢侈地维护 3 个不同的开发管道,特别是因为该应用程序是实验性的(但可能会落入用户手中)
我有 Java/Scala 方面的经验,其次是 C++/Python/JS。我更喜欢 java/Scala(现有代码库),但对其他语言的框架开放。
我正在考虑做一个基于 scala 的应用程序,带有用于窗口的摇摆,但它并不漂亮。有任何想法吗?
c++ - 启动和停止包含内核线程的守护进程
我想运行一个在 openSUSE 12 上使用 POSIX 线程作为守护进程的 c++ 程序,并且能够使用基于此模板的普通 init.d 脚本作为服务启动、停止和重新启动它:http://www.novell .com/coolsolutions/feature/15380.html。
然而事实证明 startproc 和 killproc 不适合处理内核线程(显然是 POSIX 线程)。我设法用 startproc 启动程序,但它没有被 killproc 识别和杀死。rc_status 在运行 startproc 时返回红色“failed”,即使程序实际已启动,并且在运行 killproc 时返回绿色“done”,即使它没有杀死进程。
有没有在 openSUSE 12 上使用 startproc/killproc 的替代方法?如果一个人用一个简单的 nohup 启动服务,那么它是如何正常停止的呢?只是杀了它?在那种情况下,获取“kill”所需的pid的好方法是什么?