Python中文
首页
教程
问答
标签
搜索
登录
注册
在启动时作为守护进程运行python脚本(Ubuntu)
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我已经使用werkzeug创建了小型web服务器,并且能够使用<code>python my_server.py</code>以通常的python方式运行它。页面加载,一切正常。现在我想在我的电脑启动时启动它。最简单的方法是什么?我一直在与新贵斗争,但它似乎并不“生活在后台”,因为在我执行<code>start my_server</code>后,我立即收到<code>kernel: [ 8799.793942] init: my_server main process (7274) terminated with status 1</code></p> <p>我的服务器.py:</p> <pre><code>... if __name__ == '__main__': from werkzeug.serving import run_simple app = create_app() run_simple('0.0.0.0', 4000, app) </code></pre> <p>upstart配置文件my_server.conf:</p> <pre><code>description "My service" author "Some Dude <blah@foo.com>" start on runlevel [2345] stop on runlevel [016] exec /path/to/my_server.py start on startup </code></pre> <p>有什么办法让它工作吗?或者有其他更好的方法来守护脚本?</p> <p><strong>更新:</strong> 我相信问题出在<code>my_server.py</code>之内。它似乎不会首先启动web服务器(方法<code>run_simple()</code>)。应该采取哪些步骤使.py文件由诸如upstart之类的任务处理程序运行?</p> <ul> <li>将shebang作为第一行<code>#!/usr/bin/env python</code></li> <li>允许执行权限<code>chmod 755</code></li> <li>使用超级用户权限启动守护程序(确保没有权限限制阻止它启动)</li> <li>确保所有的python库都在那里!</li> <li><em>还有别的吗?</em></li> </ul> <p><strong>已解决:</strong> 问题在于缺少python依赖项。当通过任务管理器启动脚本时(例如<code>upstart</code>或<code>start-stop-daemon</code>),不会抛出错误。必须确保Python包含了你所需要的一切。</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>一个简单的方法是使用crontab:</p> <pre><code>$ crontab -e </code></pre> <p>将出现一个crontab文件进行编辑,在结尾处写入一行:</p> <pre><code>@reboot python myserver.py </code></pre> <p>然后退出。现在,在每次重新启动之后,cron守护进程将运行myserver python脚本。</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
无法使用Django/mongoengine连接到MongoDB(身份验证失败)
1 回答
无法使用Django\u mssql\u后端迁移到外部hos
7 回答
无法使用Django&Python3.4连接到MySql
2 回答
无法使用Django+nginx上载媒体文件
8 回答
无法使用Django1.6导入名称模式
2 回答
无法使用Django1.7和mongodb登录管理站点
3 回答
无法使用Djangoadmin创建项目,进程使用了错误的路径,因为我事先安装了错误的Python
4 回答
无法使用Djangockedi验证CBV中的字段
7 回答
无法使用Djangocketditor上载图像(错误400)
5 回答
无法使用Djangocron进行函数调用
7 回答
无法使用Djangofiler djang上载文件
7 回答
无法使用Djangokronos
5 回答
无法使用Djangomssql provid
6 回答
无法使用Djangomssql连接到带有Django 1.11的MS SQL Server 2016
3 回答
无法使用Djangomssq迁移Django数据库
7 回答
无法使用Djangonox创建用户
4 回答
无法使用Djangopyodb从Django查询SQL Server
1 回答
无法使用Djangopython3ldap连接到ldap
7 回答
无法使用Djangoredis连接到redis
5 回答
无法使用Django中的FK创建新表
5 回答