首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为python CGIHTTPServer制作linux服务?

如何为python CGIHTTPServer制作linux服务?
EN

Stack Overflow用户
提问于 2011-12-04 09:58:34
回答 2查看 1.4K关注 0票数 1

我使用(server.py)运行python CGIHTTPServer

代码语言:javascript
复制
#!/usr/bin/env python
import CGIHTTPServer

def main():
    server_address = ('', 8000)
    handler = CGIHTTPServer.CGIHTTPRequestHandler
    handler.cgi_directories = ['/cgi']
    server = CGIHTTPServer.BaseHTTPServer.HTTPServer(server_address, handler)
    try:
        server.serve_forever()
    except KeyboardInterrupt:
        server.socket.close()

if __name__ == '__main__':
    main()

我尝试使用linux服务

代码语言:javascript
复制
#!/bin/sh

case $1 in
start) 
./server.py
;;
stop) # code to stop the service
esac

问题1:当我启动服务时,它将驻留在终端中,而不是返回到下一个bash命令行。因此,服务将在关闭终端时停止。在关闭终端后,如何使web服务器保持活动状态?

问题2:如何停止此服务?(在通过问题1继续进行之后)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-04 10:46:23

从以下背景开始您的程序:

不./server.py &

停止服务的首选方法是以服务的PID作为参数,发出杀死命令。

代码语言:javascript
复制
#!/bin/sh
case $1 in
start) 
nohup ./server.py &
echo $! > ./server.pid
;;
stop) # code to stop the service
kill `cat ./server.pid`
esac

开始-停止-守护进程在评论中出现更好,但稍微复杂一些。

票数 1
EN

Stack Overflow用户

发布于 2011-12-04 10:14:28

使用主管。它比滚动您自己的服务管理代码容易得多。它包括监视、控制、有限重新启动、状态日志记录、自定义事件通知以及用于编程控制监控器的XML。

它还将通过一个配置更改启动web服务器的多个实例(如果适合您的架构),甚至管理共享一个套接字的多个FastCGI实例。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8374523

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档