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 开发的三种运行模式详细介绍
Jan 18 Python
Python实现运行其他程序的四种方式实例分析
Aug 17 Python
python批量设置多个Excel文件页眉页脚的脚本
Mar 14 Python
浅谈Python编程中3个常用的数据结构和算法
Apr 30 Python
Python完成毫秒级抢淘宝大单功能
Jun 06 Python
Python3将数据保存为txt文件的方法
Sep 12 Python
让你的Python代码实现类型提示功能
Nov 19 Python
详解Python Opencv和PIL读取图像文件的差别
Dec 27 Python
django实现将后台model对象转换成json对象并传递给前端jquery
Mar 16 Python
Pycharm内置终端及远程SSH工具的使用教程图文详解
Mar 19 Python
Python基于numpy模块实现回归预测
May 14 Python
详细分析Python垃圾回收机制
Jul 01 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
150kHz到30Mhz完全冲浪手册
2020/03/20 无线电
php函数的常用方法及注意之处小结
2011/07/10 PHP
php通过ajax实现双击table修改内容
2014/04/28 PHP
微信支付开发教程(一)微信支付URL配置
2014/05/28 PHP
PHP中如何防止外部恶意提交调用ajax接口
2016/04/11 PHP
浅谈php中的循环while、do...while、for、foreach四种循环
2016/11/05 PHP
javascript之锁定表格栏位
2007/06/29 Javascript
javascript 打印页面代码
2009/03/24 Javascript
一个可绑定数据源的jQuery数据表格插件
2010/07/17 Javascript
从数据库读取数据后将其输出成html标签的三种方法
2014/10/13 Javascript
JavaScript代码复用模式详解
2014/11/07 Javascript
jQuery层级选择器用法分析
2015/02/10 Javascript
JavaScript中Null与Undefined的区别解析
2015/06/30 Javascript
简单的jQuery入门指引
2015/07/28 Javascript
jquery Deferred 快速解决异步回调的问题
2016/04/05 Javascript
jQuery 常见小例汇总
2016/12/14 Javascript
javascript工厂模式和构造函数模式创建对象方法解析
2016/12/30 Javascript
vue2.0 自定义日期时间过滤器
2017/06/07 Javascript
angular2中使用第三方js库的实例
2018/02/26 Javascript
webpack+vuex+axios 跨域请求数据的示例代码
2018/03/06 Javascript
Vue.js 踩坑记之双向绑定
2018/05/03 Javascript
vue2.0的虚拟DOM渲染思路分析
2018/08/09 Javascript
vue-mugen-scroll组件实现pc端滚动刷新
2019/08/16 Javascript
Python配置文件解析模块ConfigParser使用实例
2015/04/13 Python
使用Python程序抓取新浪在国内的所有IP的教程
2015/05/04 Python
使用Python操作MySQL的一些基本方法
2015/08/16 Python
python实现识别相似图片小结
2016/02/22 Python
利用Python获取操作系统信息实例
2016/09/02 Python
虚拟环境及venv和virtualenv的区别说明
2021/02/05 Python
zooplus德国:便宜地订购动物用品、动物饲料、动物食品
2020/05/06 全球购物
挂职思想汇报
2013/12/31 职场文书
党校学习自我鉴定
2014/02/24 职场文书
小学标准化建设汇报材料
2014/08/16 职场文书
2015年教师党员公开承诺书
2015/01/22 职场文书
员工工作失职检讨书范文!
2019/07/03 职场文书
Java异常处理try catch的基本用法
2021/12/06 Java/Android