pythonスクリプトはLinuxのサービス起動の実現方法として使用されます。
スクリプトのサービス化の目的:
pythonはテキスト処理において広く使われています。テキストデータの取得を満足させるために、毎日いくつかの爬虫類クロールデータを実行します。しかし、オンラインで買ったサーバーは定期的にメンテナンスされなくなり、サーバーが再起動されます。これでは私達の爬虫類サービスは作動しません。この時、私たちはpythonスクリプトをサービス化できます。サーバーが再起動したら、スクリプトは自動的に実行されます。サーバーのメンテナンスを解決するには、手動でpythonスクリプトを実行する必要があります。
実現方法:
1,作成したpythonスクリプトの先頭に追加します。
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のサービス起動の実現方法として、小編集が皆さんに提供した内容を全部共有しています。参考にしてほしいです。どうぞよろしくお願いします。
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のサービス起動の実現方法として、小編集が皆さんに提供した内容を全部共有しています。参考にしてほしいです。どうぞよろしくお願いします。