让python以后台进程方式运行

上回用bottle做了一个简单的web service. 启动bottle后程序需要单独占用一个bash窗口,并且bash框口一旦退出,整个http服务就关闭了。现在来实现后台运行 python

  • pip install daemon
  • pip install python-daemon
  • 上面两个是让python后台运行的模块,安装好后,在bottle启动文件中
  • import daemon
  • 定义一个日志文件,需要写权限
  • 如下修改代码
  • python3 WordCloudApi.py运行服务,python就进入后台运行了
import daemon

logfile = open('daemon.log', 'w')
context = daemon.DaemonContext(stdout = logfile, stderr = logfile)
context.open()

with context:
    run(host='localhost', port=8080, debug=True)

查看进程

wenqidongdeMBP:python wenqidong$ ps -ef | grep python
  501  3725     1   0 10:26上午 ??         0:00.03 python3 WordCloudApi.py
  501  3728  3535   0 10:26上午 ttys002    0:00.00 grep python