python指令碼當作Linux中的服務啟動實現方法

2022-10-06 19:42:09 字數 1235 閱讀 6419

指令碼服務化目的:

python 在 文字處理中有著廣泛的應用,為了滿足文字資料的獲取,會每天執行一些爬蟲抓取資料。但是網上買的伺服器會不定時進行維護,伺服器會被重啟。這樣我們的爬蟲服務就無法執行。這個時候我們可以把python指令碼服務化,伺服器重啟後,指令碼就會自動執行。解決伺服器維護後需要手動執行python指令碼。

實現方法:

1,給編寫好的python指令碼開頭加上

#!/usr/bin/python

2,啟動shell 指令碼 編寫

#啟動服務方法

start()#停止服務方法

stop()

#檢視服務狀態

status()

#重新啟動

restart()

case "$1" in

"start")

start

;;"stop")

stop

;;"status")

status

;;"restart")

restart

程式設計客棧;;

*) 程式設計客棧echo "$0 start|stop|status|restart"

;;esac

3,複製指令碼到/etc/init.d/目錄下:cp pystock.sh /etc/init.d/

4,給shell指令碼賦予執程式設計客棧行許可權 :chmod +x /etc/init.d/pystock.sh

5,新增服務:chkconfig --add pystock.sh

6,設定服務為開機啟動:chkconfig --level 35 pystock.sh on

出現的問題:

當我執行shell 指令碼啟動python指令碼時,提示我一下錯誤

syntax error near unexpected token `$'{\r''

這是因為window 下換行是\r\n,linux 下換行是\n。我在window下編寫的shell 指令碼拷貝到linux上。shell命令解讀時會先解讀/r,在解讀後面的指令碼導致報錯。而且這個\r 在linux上是看不到的。這理要注意了

解決方法:

sed 's/\r//' 原檔案 >轉換後檔案

本文標題: python指令碼當作linux中的服務啟動實現方法

本文位址:

python指令碼當作Linux中的服務啟動

指令碼服務化目的 python 在 文字處理中有著廣泛的應用,為了滿足文字資料的獲取,會每天執行一些爬蟲抓取資料。但是網上買的伺服器會不定時進行維護,伺服器會被重啟。這樣我們的爬蟲服務就無法執行。這個時候我們可以把python指令碼服務化,伺服器重啟後,指令碼就會自動執行。解決伺服器維護後需要手動執...

語言處理與Python 1 2將文字當作詞鍊錶

鍊錶 sent1 call me ishmael 這個方括號內的東西在python中叫做鍊錶 list,也叫做列表 他就是我們儲存文字的方式。我們可以對鍊錶使用加法運算,創造乙個新的鍊錶。索引列表 使用數字位置索引text4 173 使用index,返回第一次出現的索引。text4.index aw...

python 高階 類當作裝飾器

類在建立物件時,會呼叫 init 初始化一些東西 然後 如果類中定義了 call 方法,可以直接用 物件 這種方法呼叫,所以可以用類來裝飾函式 class test object def init self,func print 裝飾 print func name is s func.name s...