问题标签 [python-daemon]

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 回答
164 浏览

python - 用于从一个日志文件读取特定内容并将其写入其他日志文件的 Python 守护程序

我需要创建一个在后台运行的 python 守护程序,它应该负责从一个日志文件中读取内容(考虑 a.log)并需要将其写入另一个文件(考虑 b.log)。

也就是说,每当一个文件(a.log)得到一个特定的短语时,就应该对另一个文件(b.log)进行相应的条目。

我希望它很清楚,任何人都可以帮助我。

0 投票
1 回答
3998 浏览

python-3.4 - Python3 守护进程库

我正在学习 Python3,尤其是 daemon 库。我希望使用两个可能的参数调用我的守护程序:启动和停止。

到目前为止,我有这个代码:

它正在工作,但我想知道我是否以正确的方式进行操作。

特别是为什么我必须手动存储PID。为什么它尚未包含在自动创建的文件中:

还是锁定文件?

0 投票
4 回答
22663 浏览

python - 使用主管运行 python 脚本

我从这里复制以将我的 Python 代码作为守护进程运行。额外的正常运行时间。我认为使用主管来保持这个守护进程运行会是一个更好的主意。

我这样做了。 python_deamon.conf

问题是,尽管主管成功启动了 python_daemon,但它一直在重试。

只是为了记录后覆盖run()方法,我从不返回任何东西。

有可能做我想做的事还是我很笨?

PS:我知道整个问题的根本原因是因为 run() 永远不会返回任何东西,主管一直试图启动它,因此认为进程失败并给出状态为 FATAL Exited too quickly (process log may have details).

我的实际问题是我做得对吗?或者可以这样做吗?

PPS:独立(没有主管)daemon_runnner.py在有和没有 sudo 权限的情况下运行良好。

0 投票
2 回答
11910 浏览

python - 在后台运行 Python HTTPServer 并继续执行脚本

我试图弄清楚如何在运行“”.serve_forever() 方法后在后台运行我重载的自定义 BaseHTTPServer 实例。

通常,当您运行该方法时,执行将挂起,直到您执行键盘中断,但我希望它在继续执行脚本的同时在后台处理请求。请帮忙!

0 投票
3 回答
972 浏览

python - Python 守护程序没有显示错误输出

我阅读了如何在 Python 中创建守护进程?还有这个主题,并尝试编写一个非常简单的守护进程:

工作python script.py并立即返回终端(这是预期的行为)。但是a.txt从来没有写过,我也没有收到任何错误消息。这个简单有什么问题daemon

0 投票
3 回答
435 浏览

python - 无法使用 thread.setDaemon(True) 在主程序终止时终止子线程

文件一 sravi.py

主程序/文件 trial.py

我希望在我的主线程结束后停止打印“Hi”,但它会继续打印 HI。我已经尝试使用 x.setDaemon(True) 和 x.Daemon=True 但它不起作用。我知道以前有人问过这样的问题,但我无法找出解决方案

--------o/p--------

它继续打印 hi

0 投票
1 回答
187 浏览

python - 设计一个多进程守护进程

我正在用 Python (Django) 编写一个 Web 应用程序,它将在旁边执行任务/进程,通常是网络扫描。我希望用户能够终止扫描,实时查看其状态或结果。

我认为最好的方法之一是拥有一个独立进程的作业管理器守护进程,即:

  1. 通过 TCP 连接接受新作业。
  2. 接受用户命令,通常用于终止或重新启动进程。
  3. 报告作业的状态。

我正在为这段代码的结构而苦苦挣扎。我认为守护进程上的 TCP 端口将接受新作业。然后它将创建一个 os.fork(),它本身将创建一个 os.fork()。第二个 fork 将为 nmap 执行 os.execv()。第一个 os.fork() 将监视第二个 fork(如何?),当它完成时,它将向主守护进程报告它已经结束。第一个 fork 还必须能够终止第二个子进程。

听上去怎么样?是否已经完成了这样的结构?我不想重新创建轮子。

最后,子进程如何知道第二个孩子,即运行 os.execv() 的那个已经终止?或者它是否还在运行?我讨厌不断地轮询进程列表。

正如我所说,这必须在 Python 中完成。

0 投票
1 回答
649 浏览

python - python-daemon 不调用启动函数

我一直在按照这个例子来实现一个 python 守护进程,它似乎有点工作,但只调用了 reconfigure 函数。

这是我一直在使用的代码:

这是管理器类的代码:

日志仅显示:

由于某种原因program_start()没有被调用。 program_configure()每次读取python文件时都会调用它,就是这样,但是为什么不program_start()调用呢?

我通过键入启动守护程序sudo service station.sh start,运行脚本的行是:

编辑:读了一点之后,我意识到程序可能退出或挂起context.__enter__()with调用)。但我不知道是什么原因造成的

0 投票
0 回答
343 浏览

python - 如何找出代码在 python-daemon 中失败的原因?

这就是我运行守护进程的方式:

不幸的是,我在日志中得到的只是:

4 月 3 日 22:33:06 mybot 守护进程之前。

它似乎没有崩溃,我可以在ps aux | grep python. 但是代码并没有按应有的方式运行。如何抛出和捕获错误,以便我可以查看是否有任何问题?

0 投票
1 回答
85 浏览

python - 作为守护进程分离时文件访问的异步异常

我使用 Python 2.7 中的 asynchat 和邮箱模块编写了一个电子邮件服务器。在前台运行时,一切正常,并且在长时间的测试中保持稳定。但是,当作为守护进程分离时,对邮箱的访问会导致 asyncore.loop() 中出现错误文件描述符的异常。只有文件访问是一个问题。Socket I/O 继续正常工作。

__init__()在 found_terminator() 函数中或以后打开文件似乎并不重要。

我正在使用 Schroeder 的 ActiveState 配方 278731 中的代码分离进程,但使用单独的守护程序模块不会改变症状。

这是一些伪代码来显示流程:

这是事情发生时的 strace 输出:

省略的部分涉及加载 parser.py 和 feedparser.py 模块,它们本身使用 mmap2 打开和关闭几个文件描述符。

因此电子邮件文件的 fd 已关闭,但不久之后,该 fd 将显示在选择列表中。我不清楚 fd 是如何添加到异步通道映射中的,或者为什么它在 close() 之后仍然存在。我不清楚哪个 fd 现在无效。也不清楚为什么在 shell 进程中运行时不会发生这种情况。

如果我使用线程,我可以看到这种情况,但我快速浏览了导入的模块,没有看到任何表明它们启动了单独的线程或进程的信息。此外,如果我继续以 root 身份运行而不是放弃给任何人,则行为不会改变。

肯定 asyncore 和邮箱模块在其他守护进程中使用。我觉得我一定遗漏了一些明显的东西。