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编写一个在Linux下实现截图分享的脚本的教程
Apr 24 Python
python基于Tkinter库实现简单文本编辑器实例
May 05 Python
用python记录运行pid,并在需要时kill掉它们的实例
Jan 16 Python
Python编程之黑板上排列组合,你舍得解开吗
Oct 30 Python
python的格式化输出(format,%)实例详解
Jun 01 Python
Django配置celery(非djcelery)执行异步任务和定时任务
Jul 16 Python
[原创]Python入门教程5. 字典基本操作【定义、运算、常用函数】
Nov 01 Python
Python cv2 图像自适应灰度直方图均衡化处理方法
Dec 07 Python
python定时按日期备份MySQL数据并压缩
Apr 19 Python
python3 dict ndarray 存成json,并保留原数据精度的实例
Dec 06 Python
解决Pycharm双击图标启动不了的问题(JetBrains全家桶通用)
Aug 07 Python
Django debug为True时,css加载失败的解决方案
Apr 24 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读取数据库并按照中文名称进行排序实现代码
2013/01/29 PHP
破除一些网站复制、右键限制
2006/11/04 Javascript
JavaScript中的Window窗口对象
2008/01/16 Javascript
不同浏览器对回车提交表单的处理办法
2010/02/13 Javascript
JavaScript类和继承 this属性使用说明
2010/09/03 Javascript
JQuery中$.each 和$(selector).each()的区别详解
2015/03/13 Javascript
js获取表格的行数和列数的方法
2015/10/23 Javascript
探讨JavaScript语句的执行过程
2016/01/28 Javascript
让你一句话理解闭包(简单易懂)
2016/06/03 Javascript
jQuery EasyUI学习教程之datagrid点击列表头排序
2016/07/09 Javascript
轻松实现jquery选项卡切换效果
2016/10/10 Javascript
用js控件div的滚动条,让它在内容更新时自动滚到底部的实现方法
2016/10/27 Javascript
浅谈JavaScript作用域和闭包
2017/09/18 Javascript
前端把html表格生成为excel表格的实例
2017/09/19 Javascript
JavaScript求一个数组中重复出现次数最多的元素及其下标位置示例
2018/07/23 Javascript
vue2配置scss的方法步骤
2019/06/06 Javascript
layui-table获得当前行的上/下一行数据的例子
2019/09/24 Javascript
微信小程序实现点击导航标签滚动定位到对应位置
2020/11/19 Javascript
JavaScript 防抖和节流遇见的奇怪问题及解决
2020/11/20 Javascript
[23:21]Ti4 冒泡赛第二轮DK vs C9 2
2014/07/14 DOTA
[00:48]DOTA2国际邀请赛公开赛报名开始 扫码开启逐梦之旅
2018/06/06 DOTA
Mac中升级Python2.7到Python3.5步骤详解
2017/04/27 Python
python实现淘宝秒杀聚划算抢购自动提醒源码
2020/06/23 Python
python微信跳一跳系列之棋子定位颜色识别
2018/02/26 Python
Python从文件中读取数据的方法讲解
2019/02/14 Python
基于python实现的百度新歌榜、热歌榜下载器(附代码)
2019/08/05 Python
python 生成器和迭代器的原理解析
2019/10/12 Python
Python基于os.environ从windows获取环境变量
2020/06/09 Python
详解Open Folder as PyCharm Project怎么添加的方法
2020/12/29 Python
详解matplotlib绘图样式(style)初探
2021/02/03 Python
美术专业学生个人自我评价
2013/09/19 职场文书
彩色的翅膀教学反思
2014/04/25 职场文书
酒店管理专业自荐信
2014/05/23 职场文书
警察正风肃纪剖析材料
2014/10/16 职场文书
会计师事务所实习证明
2014/11/16 职场文书
python自动化调用百度api解决验证码
2021/04/13 Python