繁体   English   中英

/init.d/function + python版本

[英]/init.d/function + python version

我试图守护芹菜和芹菜节拍。 我已经从github下载了celeryd和celeybeat文件,并将它们与/etc/default/下的相应配置文件放在/etc/init.d/和celerybeat)中。

我的问题是当我运行这两个文件celeryd和celerybeat时使用系统python(2.4),结果无法在python 2.7下找到其他已安装的应用程序。 Python 2.7位于~/.bashrc/.bash_profile文件中,因此运行其他应用程序没有任何问题,除非工作者无法工作。 当我运行python ...../manage.py celery (具有所有选项)时,所有内容都像一个魅力。

请让我知道如何强制/init.d/function运行python2.7。

我试图实现#! /bin/sh python #! /bin/sh python ,但它不起作用。

/etc/init.d中的脚本通常在系统启动时以root用户身份运行。 root的~/.bashrc (即/root/.bashrc )看起来与您的完全不同(例如/home/reza/.bashrc )。 如果您是否以交互方式运行外壳,则外壳的行为会略有不同。

因此尝试通过/bin/sh运行python解释器没有任何用处,只会增加开销。

您想要添加一个适当的shebang来告诉系统要为您的脚本使用哪个解释器。

例如

#!/usr/bin/python2.7

将使用/usr/bin安装的python2.7二进制文件。 (因此,每当您运行/etc/init.d/foo.py ,系统实际上就会运行/usr/bin/python2.7 /etc/init.d/foo.py

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM