我在我的机器上设置了IPython Notebook(在virtualenv中)。我已经设置了一个适合我需要的配置文件(称为myserver
)。现在,我执行以下命令启动服务器:
cd path/to/folder/containing/virtualenv
source virtualenvfolder/bin/activate
ipython notebook --profile=myserver
我想在后台运行相同的流程,并且我希望按照我在Ubuntu安装中管理其他内容的方式管理它...使用sudo service ngninx start
之类的命令或sudo service uwsgi restart
或sudo service lightdm stop
。即我希望能够输入sudo service myipythonserver start|stop|restart
并使其按预期方式运行。
四个问题。
sudo service something action
时使用的框架名称是什么?那是Supervisor
吗?别的什么? sudo service myipythonserver start|stop|restart
),如何设置它以便在系统启动时自动启动进程? 答案 0 :(得分:1)
我能够使用Ubuntu附带的upstart来完成这项工作。要使用upstart创建作业,请在.conf
中创建/etc/init
文件。没有.conf的文件名是服务的名称。这是我创建的文件:
exec sudo /usr/local/bin/ipython notebook --notebook-dir=/your/notebook/path
start on filesystem and net-device-up IFACE!=lo
第一行包含ipython二进制文件的路径,--notebook-dir
包含我的笔记本存储位置的路径。可以使用iPython Profile指定更详细的配置。 Upstart系统文件可以包含scripts,可以激活您的virtualenv。
当有可用的文件系统和网络接口时,第二行启动iPython。可以使用sudo start ipython
和sudo stop ipython
手动启动和停止该服务。