Questions tagged «daemon»

守护程序是在后台运行的进程或程序(即,无需用户交互)。

26
如何将node.js应用程序作为后台服务运行?
由于这些年来引起了很多关注,因此我在文章的底部列出了每个平台的最佳解决方案。 原始帖子: 我希望我的node.js服务器在后台运行,即:当我关闭终端时,我希望服务器继续运行。我已经用谷歌搜索并提出了本教程,但是它不能按预期工作。因此,我认为我只是使用了输出重定向(该2>&1 >> file部分),而不是使用该守护程序脚本,但这也不会退出-我在终端中出现空白行,就像它在等待输出/错误一样。 我也尝试过将进程置于后台,但是一旦关闭终端,进程也会被终止。 那么,当我关闭本地计算机时如何使它运行? 最佳解决方案: Systemd(Linux) 推出(Mac) 节点窗口(Windows) PM2(Node.js)


7
如何在Python中启动后台进程?
我正在尝试将Shell脚本移植到可读性更高的python版本。原始的shell脚本在后台使用“&”启动多个进程(实用程序,监视器等)。如何在python中达到相同的效果?我希望这些过程在Python脚本完成后不会消失。我敢肯定它与守护程序的概念有关,但是我找不到如何轻松实现此目的。
295 python  process  daemon 

23
Docker命令无法连接到Docker守护程序
我想搬到Docker,所以我才刚开始使用它。我已经在VirtualBox Ubuntu 15.10(Wily Werewolf)安装上安装了Docker,然后按照此处的建议,我尝试运行基本的nginx Docker映像: $ docker run --name mynginx1 -P -d nginx Cannot connect to the Docker daemon. Is the docker daemon running on this host? 因此,我检查了Docker是否正在运行: $ sudo service docker status ● docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) …
246 linux  ubuntu  docker  daemon 

16
如何在Python中创建守护程序?
在Google上搜索会发现x2代码段。第一个结果是该代码配方的内容,其中包含大量文档和说明,并在下面进行了一些有用的讨论。 但是,另一个代码示例虽然没有包含太多文档,但包含用于传递命令(例如启动,停止和重新启动)的示例代码。它还会创建一个PID文件,可以方便地检查守护程序是否已在运行等。 这些示例都说明了如何创建守护程序。还有其他需要考虑的事情吗?一个样本比另一个样本好吗,为什么?
244 python  daemon 

7
守护程序线程说明
在Python文档中 它说: 线程可以标记为“守护程序线程”。该标志的重要性在于,仅保留守护程序线程时,整个Python程序都会退出。初始值是从创建线程继承的。 没有人对这意味着什么有更清楚的解释,或者有实际的示例显示了将线程设置为的位置daemonic? 为我澄清一下:因此,您唯一不希望将线程设置为的情况daemonic是,您希望它们在主线程退出后继续运行吗?

7
如何优雅地处理SIGTERM信号?
假设我们有一个用python编写的琐碎守护程序: def mainloop(): while True: # 1. do # 2. some # 3. important # 4. job # 5. sleep mainloop() 我们将它守护起来start-stop-daemon,默认情况下使用它发送SIGTERM(TERM)信号--stop。 假设当前执行的步骤是#2。此时此刻,我们正在发送TERM信号。 发生的事情是执行立即终止。 我发现我可以使用处理信号事件,signal.signal(signal.SIGTERM, handler)但事实是它仍然会中断当前执行并将控制权传递给handler。 所以,我的问题是-它可以不中断当前执行,但处理TERM在一个独立的线程信号,使我能够设置(?) shutdown_flag = True,这样mainloop()有机会停止正常?


9
创建守护程序时执行双叉的原因是什么?
我正在尝试在python中创建守护程序。我发现了以下问题,该问题中有一些我目前正在关注的很好的资源,但是我很好奇为什么需要双叉。我到处搜寻Google,发现有很多资源宣称有必要,但不是为什么。 有人提到这是为了防止守护程序获取控制终端。没有第二个分叉怎么办?有什么影响?
165 python  unix  daemon 

14
将PHP脚本作为守护进程运行
我需要将php脚本作为守护进程运行(等待说明并执行操作)。cron工作不会为我做这件事,因为指令一到达就需要立即采取措施。我知道由于内存管理问题,PHP并不是守护进程的最佳选择,但是由于种种原因,在这种情况下我必须使用PHP。我遇到了libslack的一个名为Daemon的工具(http://libslack.org/daemon),它似乎可以帮助我管理守护程序进程,但是最近5年没有任何更新,所以我想知道您是否知道一些其他适合我情况的选择。任何信息将不胜感激。
154 php  linux  unix  daemon 

6
从ps -ef | grep关键字获取pid
我想用 ps -ef | grep "keyword"确定守护进程的pid(在ps -ef的输出中有一个唯一的字符串)。 我可以用pkill keyword没有杀死pid的命令来返回进程吗?(pidof或pgrep不起作用)
111 linux  shell  daemon 

9
在Linux中创建守护程序
在Linux中,我想添加一个无法停止且监视文件系统更改的守护程序。如果检测到任何更改,则应在启动控制台的路径上加上换行符。 我已经准备好更改代码的文件系统了,但是我不知道如何创建守护程序。 我的代码是从这里: http //www.yolinux.com/TUTORIALS/ForkExecProcesses.html 叉后该怎么办? int main (int argc, char **argv) { pid_t pID = fork(); if (pID == 0) { // child // Code only executed by child process sIdentifier = "Child Process: "; } else if (pID < 0) { cerr << "Failed to fork" << endl; …
110 c  linux  daemon 

19
检查python脚本是否正在运行
我有一个作为后台程序运行的python守护程序/如何快速查看(使用python)我的守护程序是否正在运行,如果没有运行,请启动它? 我想通过这种方式来修复守护程序的任何崩溃,因此该脚本不必手动运行,它将在调用后立即自动运行,然后保持运行状态。 如何检查(使用python)脚本是否正在运行?
100 python  process  daemon 

12
如何守护UNIX中的任意脚本?
我想要一个守护程序,它可以将任意的通用脚本或命令转换为守护程序。 我有两种常见的情况要处理: 我有一个应该永远运行的脚本。如果它死了(或重新启动时),请重新启动它。永远不要让两个副本同时运行(检测一个副本是否已经在运行,在这种情况下不要启动它)。 我有一个简单的脚本或命令行命令,希望永久重复执行(两次运行之间有短暂的暂停)。再次,不允许脚本的两个副本同时运行。 当然,在案例2中围绕脚本编写一个“ while(true)”循环然后为案例1应用解决方案是很简单的,但是更通用的解决方案将直接解决案例2,因为这适用于案例1中的脚本,例如好(你可能只是想更短或没有停顿如果脚本不打算会死(当然,如果剧本真的没有永不再死暂停实际上并没有物质))。 请注意,该解决方案不应该涉及在现有脚本中添加文件锁定代码或PID记录。 更具体地说,我想要一个可以“运行”的程序“守护进程” % daemonize myscript arg1 arg2 或者,例如 % daemonize 'echo `date` >> /tmp/times.txt' 它将不断增加的日期列表附加到times.txt。(请注意,如果要守护的参数是一个脚本,该脚本可以像上面的情况1那样永久运行,那么守护程序仍然会做正确的事,并在必要时重新启动它。)然后,可以在.login中输入上述命令和/或每小时或每分钟刷新一次(取决于我对它意外死亡的担心程度)。 注意:守护程序脚本将需要记住正在守护程序的命令字符串,这样,如果再次守护相同的命令字符串,它将不会启动第二个副本。 此外,理想情况下,该解决方案应该在OS X和linux上都可以工作,但是欢迎使用一种解决方案。 编辑:如果您必须使用调用它,这很好sudo daemonize myscript myargs。 (如果我认为这一切都是错误的,或者有快速而肮脏的部分解决方案,我也很乐意听到。) PS:如果有用,这是一个特定于python的类似问题。 而这个回答类似的问题有什么似乎是一个任意脚本的快速和肮脏的妖魔化一个有用的成语:

8
如何停止Mac Snow Leopard上安装的Jenkins?
我已经在OSX上安装了Jenkins可执行文件,但是现在我想停止其运行。每当我杀死它时,无论如何,它都会立即重新启动。 我尝试在詹金斯网址上使用exit命令: http://localhost:8080/exit 这要求我发布命令,然后执行该命令,然后服务器根据请求关闭。但随后重新启动。 我尝试使用来搜索进程ID ps,并强行杀死它(kill -9 pid),然后服务器根据要求立即关闭。但随后重新启动。 我试图通过gui关闭它,但是不幸的是似乎没有办法。 在某处必须有一个守护程序,这使它成为一个一般的OSX问题。
92 macos  jenkins  daemon 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.