问题标签 [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.
python - 用于从一个日志文件读取特定内容并将其写入其他日志文件的 Python 守护程序
我需要创建一个在后台运行的 python 守护程序,它应该负责从一个日志文件中读取内容(考虑 a.log)并需要将其写入另一个文件(考虑 b.log)。
也就是说,每当一个文件(a.log)得到一个特定的短语时,就应该对另一个文件(b.log)进行相应的条目。
我希望它很清楚,任何人都可以帮助我。
python-3.4 - Python3 守护进程库
我正在学习 Python3,尤其是 daemon 库。我希望使用两个可能的参数调用我的守护程序:启动和停止。
到目前为止,我有这个代码:
它正在工作,但我想知道我是否以正确的方式进行操作。
特别是为什么我必须手动存储PID。为什么它尚未包含在自动创建的文件中:
还是锁定文件?
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 权限的情况下运行良好。
python - 在后台运行 Python HTTPServer 并继续执行脚本
我试图弄清楚如何在运行“”.serve_forever() 方法后在后台运行我重载的自定义 BaseHTTPServer 实例。
通常,当您运行该方法时,执行将挂起,直到您执行键盘中断,但我希望它在继续执行脚本的同时在后台处理请求。请帮忙!
python - Python 守护程序没有显示错误输出
我阅读了如何在 Python 中创建守护进程?还有这个主题,并尝试编写一个非常简单的守护进程:
工作python script.py
并立即返回终端(这是预期的行为)。但是a.txt
从来没有写过,我也没有收到任何错误消息。这个简单有什么问题daemon
?
python - 无法使用 thread.setDaemon(True) 在主程序终止时终止子线程
文件一 sravi.py
主程序/文件 trial.py
我希望在我的主线程结束后停止打印“Hi”,但它会继续打印 HI。我已经尝试使用 x.setDaemon(True) 和 x.Daemon=True 但它不起作用。我知道以前有人问过这样的问题,但我无法找出解决方案
--------o/p--------
它继续打印 hi
python - 设计一个多进程守护进程
我正在用 Python (Django) 编写一个 Web 应用程序,它将在旁边执行任务/进程,通常是网络扫描。我希望用户能够终止扫描,实时查看其状态或结果。
我认为最好的方法之一是拥有一个独立进程的作业管理器守护进程,即:
- 通过 TCP 连接接受新作业。
- 接受用户命令,通常用于终止或重新启动进程。
- 报告作业的状态。
我正在为这段代码的结构而苦苦挣扎。我认为守护进程上的 TCP 端口将接受新作业。然后它将创建一个 os.fork(),它本身将创建一个 os.fork()。第二个 fork 将为 nmap 执行 os.execv()。第一个 os.fork() 将监视第二个 fork(如何?),当它完成时,它将向主守护进程报告它已经结束。第一个 fork 还必须能够终止第二个子进程。
听上去怎么样?是否已经完成了这样的结构?我不想重新创建轮子。
最后,子进程如何知道第二个孩子,即运行 os.execv() 的那个已经终止?或者它是否还在运行?我讨厌不断地轮询进程列表。
正如我所说,这必须在 Python 中完成。
python - python-daemon 不调用启动函数
我一直在按照这个例子来实现一个 python 守护进程,它似乎有点工作,但只调用了 reconfigure 函数。
这是我一直在使用的代码:
这是管理器类的代码:
日志仅显示:
由于某种原因program_start()
没有被调用。
program_configure()
每次读取python文件时都会调用它,就是这样,但是为什么不program_start()
调用呢?
我通过键入启动守护程序sudo service station.sh start
,运行脚本的行是:
编辑:读了一点之后,我意识到程序可能退出或挂起context.__enter__()
(with
调用)。但我不知道是什么原因造成的
python - 如何找出代码在 python-daemon 中失败的原因?
这就是我运行守护进程的方式:
不幸的是,我在日志中得到的只是:
4 月 3 日 22:33:06 mybot 守护进程之前。
它似乎没有崩溃,我可以在ps aux | grep python
. 但是代码并没有按应有的方式运行。如何抛出和捕获错误,以便我可以查看是否有任何问题?
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 和邮箱模块在其他守护进程中使用。我觉得我一定遗漏了一些明显的东西。