[英]/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.