centos7將python腳本添加到service啟動中

簡述

源碼部署了odoo,希望將odoo的啟動添加到service服務中,方便啟動。

若用命令行方式啟動腳本,十分簡單:

# python openerp-server

但為了方便部署,想要把它做成一個服務(service),這樣就可以用服務來控制它的啟動/停止,而且便于在開機時自啟動

啟動/停止腳本openerp(將來需要放置到?/etc/init.d/?中):

#!/bin/sh

#chkconfig: 123456 90 10

# openerp server for user authentication

workdir=/odoo/odoo-8.0/

daemon_start() {

? ? cd $workdir

? ? python /odoo/odoo-8.0/openerp-server &

? ? echo "Server started."

}

daemon_stop() {

? ? pid=`ps -ef | grep '[p]ython /odoo/odoo-8.0/openerp-serve' | awk '{ print $2 }'`

? ? echo $pid

? ? kill $pid

? ? sleep 2

? ? echo "Server killed."

}

case "$1" in

? start)

? ? daemon_start

? ? ;;

? stop)

? ? daemon_stop

? ? ;;

? restart)

? ? daemon_stop

? ? daemon_start

? ? ;;

? *)

? ? echo "Usage: /odoo/odoo-8.0/openerp-server {start|stop|restart}"

? ? exit 1

esac

exit 0


第一行:#!/bin/sh?是指此腳本使用?/bin/sh?來解釋執(zhí)行,#!?是特殊的表示符,其后面根的是解釋此腳本的 shell 的路徑。

第二行:比較特殊,看起來像是注釋,但?chkconfig?命令需要用到,必須存在。定義了在運行級別 1、2、3、4、5、6 中,服務將被激活(狀態(tài)為:on),90 代表 Start 的順序,10 代表 Kill(Stop)的順序。

實現后臺服務

要將其作為一個后臺服務,大概分為以下幾步:

1、為所需的服務創(chuàng)建一個用戶?

2、確保該用戶對要設置的二進制文件具有完全訪問權限:

/usr/bin/python

3、將啟動/停止腳本 openerp復制到?/etc/init.d/?中

4、確保腳本被標記為可執(zhí)行文件:

chmod +x /etc/init.d/openerp on

5、在運行級別 2、3、4、5 中啟用配置:

chkconfig openerp

6、啟動/停止服務:

service openerp start# 啟動服務 ?

service openerp restart# 重啟服務

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容