在linxu下会发现有很多的程序都是用service 管理,如nginx,mysql等等
由于项目部署在服务器上,然后每次pull之后,都需要重启(杀进程,再启动),才能生效,就想做成一个服务,方便每次重启,比如service XXX restart。
通过查资料,service都是通过写成shell脚本放在/etc/init.d/ 目录下进行管理的,同时能在目录下找到一些常用的服务。大概看了下,通过查资料写出了如下脚本
代码如下:
#!/bin/bash case "$1" in start) echo "start test-service cd /home/work/python-script nohup python /home/tanxu/work/python-script/start.py > /home/tanxu/log.txt 2>&1 & ;; restart) echo "kill test-service" ps -ef |grep python |grep /work/python-script/start.py |awk '{printf $2}'|xargs kill -9 echo "start test-service" cd /home/work/python-script nohup python /home/work/python-script/start.py > /home/tanxu/log.txt 2>&1 & ;; stop) echo "kill test-service" ps -ef |grep python |grep /work/python-script/start.py |awk '{printf $2}'|xargs kill -9 ;; esac
仅仅写完脚本放在 /etc/init.d/ 目录下是不够的
后面查资料发现可以通过chkconfig 来管理系统服务,但是我用的ubuntu,在centos下是可以的,在ubuntu下google上提到一个替代品sysv-rc-conf, apt-get install下就可以直接用了
添加一个服务: sudo update-rc.d ServiceName defaults
删除一个服务: sudo update-rc.d ServiceName remove
启动: sudo sysv-rc-conf 它可心配置各服务在各级别上的启动情况.
随时想启动某个服务, 可以这样: sudo /etc/init.d/ServiceName start
5833

被折叠的 条评论
为什么被折叠?



