pythonスクリプトはLinuxのサービス起動の実現方法として使用されます。


スクリプトのサービス化の目的:
pythonはテキスト処理において広く使われています。テキストデータの取得を満足させるために、毎日いくつかの爬虫類クロールデータを実行します。しかし、オンラインで買ったサーバーは定期的にメンテナンスされなくなり、サーバーが再起動されます。これでは私達の爬虫類サービスは作動しません。この時、私たちはpythonスクリプトをサービス化できます。サーバーが再起動したら、スクリプトは自動的に実行されます。サーバーのメンテナンスを解決するには、手動でpythonスクリプトを実行する必要があります。
実現方法:
1,作成したpythonスクリプトの先頭に追加します。

#!/usr/bin/python
2,shellスクリプトの作成を開始します。

vi pystock.sh

#vim /etc/init.d/httpd
#!bin/bash
lock="py_stock.py"
#      
start(){
    echo "service start...."
    su root -c "python /root/python/py_stock/src/crawler/py_stock.py &"
}
<pre name="code" class="plain">#      
stop(){ echo "service stop...." pkill -f $lock}
#      
status(){
    if [ -e $lock ];then
      echo "$0 service start"
    else
      echo "$0 service stop"
    fi
}
#    
restart(){
    stop
    start
}
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.shon
発生した問題:
shellスクリプトを実行してpythonスクリプトを起動すると、エラーが発生しました。
syntax error near unexpected token`。
これはwindowの下で改行するのが\rなためで、linuxの下で改行はそうです。私はwindowで作成したshellスクリプトをlinuxにコピーしました。shell命令の解読時に、先に/rを解読して、後のスクリプトを解読してエラーが発生します。それにこれはLinuxでは見られません。これは注意します
解決方法:
sed's/\r/'元ファイル'変換後ファイル
以上のpython脚本はLinuxのサービス起動の実現方法として、小編集が皆さんに提供した内容を全部共有しています。参考にしてほしいです。どうぞよろしくお願いします。