问题标签 [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 投票
1 回答
1292 浏览

python - Python 守护程序错误

我正在尝试制作一个 python 脚本作为守护程序运行,并且在尝试导入运行器模型时遇到了这个问题:

我在 Debian 6.0 下编程,并通过 apt 手动安装了 python-daemon 和 lockfile,但没有任何改变。任何想法?

问候,,,

0 投票
1 回答
357 浏览

python - /init.d/function + python version

I am trying to daemonize celery and celerybeat. I have downloaded the celeryd and celeybeat files from github and placed them in /etc/init.d/ (celery and celerybeat) with the corresponding config files under /etc/default/.

My problem is that when I run these two files, celeryd and celerybeat use system python (2.4), and as a result cannot find other installed applications under python 2.7. Python 2.7 is in ~/.bashrc and /.bash_profile files, so I do not have any problems running other applications, except when workers fail to work. When I run python ...../manage.py celery ( with all options) everything works like a charm.

Please let me know how I can force /init.d/function to run python2.7.

I have tried to implement #! /bin/sh python, but it does not work.

0 投票
2 回答
2404 浏览

python - 以非特权用户身份运行 python-daemon 并保持组成员身份

我正在使用python-daemon包在 python 中编写一个守护进程。守护程序在引导时启动 (init.d),需要访问各种设备。守护进程将在运行 ubuntu的嵌入式系统 ( beaglebone ) 上运行。

现在我的问题是我想以非特权用户而不是(例如mydaemon)而不是root.

为了允许守护进程访问设备,我将该用户添加到所需的组中。在我使用的 python 代码中daemon.DaemonContext(uid=uidofmydamon)

由守护进程启动的root进程很好,并且由正确的用户拥有,但是在尝试访问设备时出现权限被拒绝错误。我写了一个小测试应用程序,似乎该进程没有继承用户的组成员身份。

当我以 uid=1001 的用户身份运行上述代码时,我得到类似

而当我以root(或)身份运行上述代码时su,我得到:

如何创建由 root 启动但具有不同的有效 uid完整组成员身份的守护进程?

0 投票
1 回答
3689 浏览

python - 如何让 python-bottle 日志将其标准输出发送到文件?

Bottle 有很好的access_log输出,我想记录到文件中。

如何使用daemon并将其放入某个文件中?

它的背景和瓶子可以工作,但我什么也没得到/dev/shm/access_log

0 投票
1 回答
10863 浏览

python - 安装 python 守护进程

我已经下载了 python-daemon 包(https://pypi.python.org/pypi/python-daemon/)并尝试使用安装它

但我收到此错误:

我不确定是什么原因造成的。我尝试通过在与下载模块相同的目录中工作来解决它(在这种情况下,我可以访问守护程序模块),但这导致了其他问题。

另外,我使用的是 python 2.4.3,不幸的是更新不是一个选项。

0 投票
3 回答
35409 浏览

python - python脚本的守护进程与新贵

我已经用 Python 编写了一个模块,并希望它在启动后连续运行,并且在我需要更新其他模块时需要停止它。如果模块已崩溃或未运行,我可能会使用 monit 重新启动它。

我正在经历不同的技术,如DaemonUpstart和许多其他技术。

哪个是最好的方法,以便我在所有新模块中使用这种方法来永远运行它们?

0 投票
1 回答
374 浏览

python - '当程序作为守护进程运行时,找不到记录器“LOGGER_NAME”的处理程序'

关于消息的问题

找不到记录器“X”的处理程序

来自 Python 的logging模块在 SO 上似乎很常见,但我还没有找到一个可以解决我的情况的。

我的应用程序只有在作为守护程序运行时才会出现这个问题,所以我假设我没有在那里正确设置一些东西。我在 Python 2.7 中使用python-daemon包。

我的__init__.py文件使用以下函数初始化记录器:

该函数的调用方式如下:

然后守护进程初始化如下:

我错过了什么?我还可以检查什么来找到消息的来源?

0 投票
1 回答
845 浏览

python - 使用 python-daemon 监听 Twisted TCP 连接会给出错误的文件描述符

我正在尝试创建一个程序:

  • 开始使用时分叉multiprocessing
  • 分叉的进程用于python-daemon在后台再次分叉
  • 在生成的后台进程中打开一个扭曲的侦听 TCP 端口

我需要在启动之前分叉该进程的原因python-daemon是因为我希望凝视进程保持活动状态(默认情况下python-daemon会杀死父进程)。

到目前为止,我的代码是:

启动该过程似乎有效:

但是查看后台进程的日志文件,twisted无法打开TCP端口:

任何的想法 ?当这个启动时,似乎python-daemon正在关闭后台进程的所有文件描述符,它可能来自这种行为吗?

0 投票
2 回答
8280 浏览

python - Ubuntu upstart 将挂在 start/stop/etc

我在 Ubuntu 上有几项服务将开始使用“新贵”。他们正在按要求工作,但是当我使用“停止/启动/重新启动 {myservice}”时,它会挂起(但会按要求执行)。

我知道这与分叉有关。

我的服务是 python 脚本,它将在启动时创建新线程。一个脚本将创建 1 个新线程(并将继续在主线程上运行),第二个脚本将创建 2 个新线程并将继续在主线程上运行,第三个脚本将不创建新线程。

他们都挂在命令上。

都在 /etc/init 中使用相同的代码,如下所示:

你认为可能是什么问题?'fork' 与创建新线程有什么关系吗?

0 投票
2 回答
1046 浏览

python - Python Daemon 中的 Paramiko 导致 IOError

我正在尝试从 python 守护进程内部执行ssh命令paramiko。我正在为守护进程使用以下实现:https ://pypi.python.org/pypi/python-daemon/

当程序启动时,当 paramiko 尝试连接时pycrypto会引发一个IOErrorBad file descriptor如果我删除守护程序代码(只需取消注释最后一行并注释上面的两行),ssh连接就会按预期建立。

一个简短的测试程序的代码如下所示:

跟踪如下所示:

我猜这与守护进程产生时的流重定向有关。我试图将它们全部设置为/dev/tty甚至是普通文件,但没有任何效果。

当我运行程序时,strace我可以看到某些东西试图关闭一个文件两次,这就是我收到错误的时候。但我找不到描述符实际指向的文件(strace显示一个似乎没有在任何地方设置的内存位置)。