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爬取网站数据保存使用的方法
Nov 20 Python
Python模仿POST提交HTTP数据及使用Cookie值的方法
Nov 10 Python
Python中实现从目录中过滤出指定文件类型的文件
Feb 02 Python
pygame加载中文名mp3文件出现error
Mar 31 Python
Python数据结构与算法之常见的分配排序法示例【桶排序与基数排序】
Dec 15 Python
Python实现的个人所得税计算器示例
Jun 01 Python
浅谈django orm 优化
Aug 18 Python
利用Pycharm断点调试Python程序的方法
Nov 29 Python
python编写简单端口扫描器
Sep 04 Python
python使用turtle库绘制奥运五环
Feb 24 Python
解决python ThreadPoolExecutor 线程池中的异常捕获问题
Apr 08 Python
基于python实现破解滑动验证码过程解析
May 28 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
数据库的日期格式转换
2006/10/09 PHP
PHP ? EasyUI DataGrid 资料存的方式介绍
2012/11/07 PHP
深入Memcache的Session数据的多服务器共享详解
2013/06/13 PHP
php设计模式之单例、多例设计模式的应用分析
2013/06/30 PHP
PHP取二进制文件头快速判断文件类型的实现代码
2013/08/05 PHP
JavaScript 滚轮事件使用说明
2010/03/07 Javascript
基于jquery的修改当前TAB显示标题的代码
2010/12/11 Javascript
简单实用的全选反选按钮例子
2013/10/18 Javascript
jquery中append()与appendto()用法分析
2014/11/14 Javascript
浅谈angularJS 作用域
2015/07/05 Javascript
require.js的用法详解
2015/10/20 Javascript
7个去伪存真的JavaScript面试题
2016/01/07 Javascript
BootStrap 模态框实现刷新网页并关闭功能
2017/01/04 Javascript
nodejs multer实现文件上传与下载
2017/05/10 NodeJs
vue学习笔记之vue1.0和vue2.0的区别介绍
2017/05/17 Javascript
JS实现的图片选择顺序切换和循环切换功能示例【测试可用】
2018/12/28 Javascript
vue 使用 vue-pdf 实现pdf在线预览的示例代码
2020/04/26 Javascript
uniapp实现横向滚动选择日期
2020/10/21 Javascript
python 把数据 json格式输出的实例代码
2016/10/31 Python
Python如何实现守护进程的方法示例
2017/02/08 Python
使用Python操作excel文件的实例代码
2017/10/15 Python
Django自定义用户认证示例详解
2018/03/14 Python
python使用PIL模块获取图片像素点的方法
2019/01/08 Python
检测python爬虫时是否代理ip伪装成功的方法
2019/07/12 Python
pymysql模块的使用(增删改查)详解
2019/09/09 Python
基于python3实现倒叙字符串
2020/02/18 Python
荷兰牛仔裤网上商店:Jeans Centre
2018/04/03 全球购物
英国家居装饰品、户外家具和玻璃器皿购物网站:Rinkit.com
2019/11/04 全球购物
程序员机试试题汇总
2012/03/07 面试题
介绍一下Prototype的$()函数,$F()函数,$A()函数都是什么作用?
2014/03/05 面试题
建筑工地质量标语
2014/06/12 职场文书
深入探讨opencv图像矫正算法实战
2021/05/21 Python
浅谈Python响应式类库RxPy
2021/06/14 Python
Python制作动态字符画的源码
2021/08/04 Python
CSS浮动引起的高度塌陷问题
2022/08/05 HTML / CSS
CSS 鼠标点击拖拽效果的实现代码
2022/12/24 HTML / CSS