python脚本当作Linux中的服务启动实现方法


Posted in Python onJune 28, 2019

脚本服务化目的:

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.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 相关文章推荐
Python使用urllib模块的urlopen超时问题解决方法
Nov 08 Python
python常规方法实现数组的全排列
Mar 17 Python
Python中的localtime()方法使用详解
May 22 Python
Python3 模块、包调用&amp;路径详解
Oct 25 Python
python实现K最近邻算法
Jan 29 Python
Python将一个CSV文件里的数据追加到另一个CSV文件的方法
Jul 04 Python
11个Python Pandas小技巧让你的工作更高效(附代码实例)
Apr 30 Python
如何基于pythonnet调用halcon脚本
Jan 20 Python
pyMySQL SQL语句传参问题,单个参数或多个参数说明
Jun 06 Python
python适合做数据挖掘吗
Jun 16 Python
Django视图、传参和forms验证操作
Jul 15 Python
一起来学习Python的元组和列表
Mar 13 Python
如何用Python制作微信好友个性签名词云图
Jun 28 #Python
python打包exe开机自动启动的实例(windows)
Jun 28 #Python
python脚本开机自启的实现方法
Jun 28 #Python
Python如何爬取微信公众号文章和评论(基于 Fiddler 抓包分析)
Jun 28 #Python
python把转列表为集合的方法
Jun 28 #Python
Python matplotlib学习笔记之坐标轴范围
Jun 28 #Python
Python程序打包工具py2exe和PyInstaller详解
Jun 28 #Python
You might like
PHP中round()函数对浮点数进行四舍五入的方法
2014/11/19 PHP
PHP中绘制图像的一些函数总结
2014/11/19 PHP
php有效防止图片盗用、盗链的两种方法
2016/11/01 PHP
安装docker和docker-compose实例详解
2019/07/30 PHP
javascript中的float运算精度实例分析
2010/08/21 Javascript
javascript+xml实现简单图片轮换(只支持IE)
2012/12/23 Javascript
JavaScript解析URL参数示例代码
2013/08/12 Javascript
jQuery中next方法用法实例
2015/04/24 Javascript
JQuery+Ajax实现数据查询、排序和分页功能
2015/09/27 Javascript
js中遍历对象的属性和值的方法
2016/07/27 Javascript
vuejs使用$emit和$on进行组件之间的传值的示例
2017/10/04 Javascript
默认浏览器设置及vue自动打开页面的方法
2018/09/21 Javascript
JavaScript中工厂函数与构造函数示例详解
2019/05/06 Javascript
微信小程序网络层封装的实现(promise, 登录锁)
2019/05/08 Javascript
layui使用数据表格实现购物车功能
2019/07/26 Javascript
[01:04:08]完美世界DOTA2联赛PWL S3 INK ICE vs GXR 第一场 12.16
2020/12/18 DOTA
python实现代理服务功能实例
2013/11/15 Python
有关wxpython pyqt内存占用问题分析
2014/06/09 Python
跟老齐学Python之集成开发环境(IDE)
2014/09/12 Python
在Python中使用mechanize模块模拟浏览器功能
2015/05/05 Python
Python实现LRU算法的2种方法
2015/06/24 Python
Python中常用操作字符串的函数与方法总结
2016/02/04 Python
python根据文章标题内容自动生成摘要的实例
2019/02/21 Python
python定时检测无响应进程并重启的实例代码
2019/04/22 Python
pycharm编写spark程序,导入pyspark包的3中实现方法
2019/08/02 Python
python openCV自制绘画板
2020/10/27 Python
实例讲解使用HTML5 Canvas绘制阴影效果的方法
2016/03/25 HTML / CSS
“型”走纽约上东区:Sam Edelman
2017/04/02 全球购物
新西兰杂志订阅:isubscribe
2019/08/26 全球购物
西部世纪面试题
2014/12/05 面试题
介绍一下except的用法和作用
2015/01/22 面试题
优秀党支部申报材料
2014/12/24 职场文书
2016年小学生寒假总结
2015/10/10 职场文书
导游词之麻姑仙境
2019/11/18 职场文书
python数字转对应中文的方法总结
2021/08/02 Python
一文搞懂Python Sklearn库使用
2021/08/23 Python