问题标签 [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 - 覆盖 DaemonRunner 中的静态成员
我正在尝试覆盖 python 标准守护进程库中的 DaemonRunner(在这里找到https://pypi.python.org/pypi/python-daemon/)
DaemonRunner 响应启动、停止和重新启动的命令行参数,但我想为状态添加第四个选项。
我要覆盖的类看起来像这样:
我试图像这样覆盖它:
这在某种程度上可行,但问题是 DaemonRunner 的每个实例现在都有新的行为。是否可以在不修改 DaemonRunner 的每个实例的情况下覆盖它?
python - Python 3.3.4:python-daemon-3K;跑步者的使用方法
努力尝试让 python 守护程序使用 Python 3.3.4 工作。我使用来自 PyPi 的最新版本的 python-daemon-3K 即 1.5.8
起点是找到以下代码如何在Python中创建守护进程?我相信是 2.x Python 的代码。
试图运行这个我得到以下错误。
python mydaemon.py start
Traceback(最近一次调用最后):文件“mydaemon.py”,第 60 行,在 daemon_runner = runner.DaemonRunner(app) 文件“/depot/Python-3.3.4/lib/python3.3/site -packages/python_daemon_3K-1.5.8-py3.3.egg/daemon/runner.py",第 89 行,在init app.stderr_path 中,'w+',buffering=0) ValueError: can't have unbuffered text I/O
任何指针如何翻译以使用 Python 3.3.4 或在 python-daemon-3K 中使用运行器的一个很好的例子
谢谢德里克
python - Python 脚本作为 init.d 中的服务,值得守护吗?
我有几个我想在系统中作为服务的 python 脚本。我最初的方法是使用 python-daemon 并且它有效。进程已分离并在后台运行。然后我了解到 init.d 提供了我需要的包装器,即 daemon-start-stop。
现在我不知道该怎么办。是否值得让 python-daemon 变红或相反,或者两者都保留(在这种情况下,python-daemon 必须使用 detach=False 启动)。
如果有人对 init.d 脚本和守护进程有经验,我很想听听您的意见。
几个问题,我正在寻找答案: - 这两种解决方案之间的优缺点 - 哪个更简单但更强大的解决方案 - 您过去发现了什么问题
我知道这个问题可能有点像讨论的介绍,因为可能没有明确的答案。但是,我想在自己陷入陷阱之前先了解其他人的错误。
python - python-daemon 2.0.5 不会用 pip 安装
尝试使用 pip 和 python 2.6 安装 python-daemon 2.0.5 时出现错误。我知道还有其他问题涉及 python-daemon 2.0.3 有这个问题。但这些答案表明它现在应该被修复。
我也尝试过安装旧版本,但没有运气。虽然如果我从一个新的 virtualenv 重新开始,我可以安装 1.5.6 。但是在这个 virtualenv 中,我在 2.0.5 和 1.5.6 中遇到了同样的错误
python - 如何通过 ssh 连接启动 python-daemon?
我想使用 python 库 paramiko 登录到远程计算机,然后使用 python-daemon 库启动一个守护进程,在程序终止后,它仍然作为某种作业队列工作。到目前为止,这是我的代码:(
在这个例子中,守护进程只会打开一个文件并在其中打印一些随机数)
'
不幸的是,这似乎不起作用,如果我从脚本中删除守护进程上下文,它似乎可以工作,但我必须等待服务器完成。我还尝试将输出重定向到/dev/null
,但这没有用,感谢您的任何建议。
openstack - os-svc-daemon 没有向新贵添加新服务
我创建了一个名为 some-service 的新服务。shell 脚本存在于 /etc/init.d/some-service 我在 /usr/local/bin/some-service 中有相同的 shell 脚本文件,它是 some-service 的副本。
我运行以下命令来创建守护程序服务:
这创建了一个 /etc/init/some-service.conf
重新加载更改运行以下命令
in 试图启动该服务,但它从未运行。
我在这里做错了什么?使用 shell 脚本而不是 python bin 文件来启动它也安全吗?
python - python importlib 在守护进程上下文中找不到模块
我有一个基于配置动态导入模块的脚本。我正在尝试python-daemon
在脚本上实现一个守护进程上下文(使用模块),它似乎干扰了 python 找到有问题的模块的能力。
我这样mymodule/__init__.py
做setup()
:
我接到了setup()
里面的电话mymodule/__main__.py
,我正在以这种方式加载整个内容:
PYTHONPATH=. python -m mymodule
这工作正常,但是在 load_modules() 中设置的侦听端口被新添加的守护进程上下文关闭,所以我想在守护进程上下文中移动该函数调用,如下所示:
模块以这种方式加载load_modules()
:
在load_modules()
守护程序上下文之外,这可以正常工作。当我将它移动到守护进程上下文中时,它似乎无法找到它正在寻找的模块。我明白了:
它看起来像是某种命名空间问题——我注意到异常只涉及我尝试导入的模块名称的子模块部分——但我已经比较了我在守护进程上下文内部和外部能想到的所有内容,并且我找不到重要的区别。 sys.path
没有改变,守护进程上下文没有清除环境或 chrooting。cwd 当然会更改为/
,但这不应该对 python 查找模块的能力产生任何影响,因为绝对路径.
出现在sys.path
.
我在这里想念什么?
编辑:我正在添加一个SSCCE以使情况更加清晰。以下三个文件创建了一个名为“mymodule”的模块,可以从命令行以PYTHONPATH=. python -m mymodule
. 有两个调用load_module()
in __init__.py
,一个被注释掉。您可以通过交换评论中的哪一个来证明问题。
mymodule/__main__.py
mymodule/__init__.py
mymodule/foo.py
python - Python:使用守护线程一段时间后终止多线程程序
我想实现一个运行一段时间后终止的程序t
,并t
使用ArgumentParser
. 目前我有以下代码(省略一些细节):
该程序按我的预期工作(它在运行 3 秒后终止)。但正如我之前提到的,运行时间(上面代码片段中的 3.0)应该从命令行输入(例如 args.arg3 = 3.0),而不是硬编码。显然我不能time.sleep(args.arg3)
直接放。我想知道是否有任何方法可以解决我的问题?也欢迎不使用守护线程的答案!谢谢。
PS。如果我将参数解析代码放在run
函数之外,例如:
该程序不会在args.arg3
几秒钟后终止,我对原因感到困惑。如果有人能解释所有这些背后的魔力,我也会非常感激......非常感谢!
python - 您如何按照文档说明的方式使用 python-daemon?
我正在尝试在 python 中创建一个守护程序,并且遇到了 python-daemon 包。关于它的有趣之处在于,我看到它使用的最常见方式甚至不是非常稀疏的文档告诉你做什么
相反,人们像这样使用它:
此处和此线程中的示例How do you create a daemon in Python?
那么谁能告诉我这个包应该如何按预期使用?有 0 个示例按照文档指定的方式使用它。
python - Python守护程序有时不会产生
我在 python 中有一个守护进程,我使用 DaemonRunner API 生成它(创建了一个 PID 文件和锁定文件)。守护进程停止时会删除 PID 文件和锁定文件。
启动/停止工作正常,但有时守护程序不启动。我需要删除包含 PID 文件的整个文件夹才能将其备份。我该如何调试?还有一个名为 HOST.MainThread-PID 的自动生成文件。这有什么意义?
这是我的类来启动/停止守护进程
strace 对于成功和不成功的用例看起来都相似。