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的socket编程入门
Jan 29 Python
python如何派生内置不可变类型并修改实例化行为
Mar 21 Python
PyCharm安装Markdown插件的两种方法
Jun 24 Python
使用Matplotlib 绘制精美的数学图形例子
Dec 13 Python
关于ResNeXt网络的pytorch实现
Jan 14 Python
python使用turtle库绘制奥运五环
Feb 24 Python
如何提高python 中for循环的效率
Apr 15 Python
Python importlib动态导入模块实现代码
Apr 16 Python
Python如何把十进制数转换成ip地址
May 25 Python
python 使用cycle构造无限循环迭代器
Dec 02 Python
python人工智能human learn绘图可创建机器学习模型
Nov 23 Python
聊聊基于pytorch实现Resnet对本地数据集的训练问题
Mar 25 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下通过IP获取地理位置的代码(小偷程序)
2011/06/09 PHP
浅析php插件 Simple HTML DOM 用DOM方式处理HTML
2013/07/01 PHP
php写的AES加密解密类分享
2014/06/20 PHP
php冒泡排序与快速排序实例详解
2015/12/07 PHP
PHP AjaxForm提交图片上传并显示图片源码
2016/11/29 PHP
根据分辩率调用不同的CSS.
2007/01/08 Javascript
防止按钮在短时间内被多次点击的方法
2014/03/10 Javascript
Javascript学习指南
2014/12/01 Javascript
jquery任意位置浮动固定层插件用法实例
2015/05/29 Javascript
灵活的理解JavaScript中的this指向
2016/02/25 Javascript
Angular5中调用第三方js插件的方法
2018/02/26 Javascript
Vue实现美团app的影院推荐选座功能【推荐】
2018/08/29 Javascript
对angular4子路由&amp;辅助路由详解
2018/10/09 Javascript
JavaScript设计模式之观察者模式实例详解
2019/01/16 Javascript
详解vue使用插槽分发内容slot的用法
2019/03/28 Javascript
Vue中实现权限控制的方法示例
2019/06/07 Javascript
Vue修改项目启动端口号方法
2019/11/07 Javascript
vue中路由跳转不计入history的操作
2020/09/21 Javascript
python获得linux下所有挂载点(mount points)的方法
2015/04/29 Python
浅析Python中的for 循环
2016/06/09 Python
python去掉 unicode 字符串前面的u方法
2018/10/21 Python
Python函数返回不定数量的值方法
2019/01/22 Python
微信公众号token验证失败解决方案
2019/07/22 Python
Python图像处理库PIL的ImageGrab模块介绍详解
2020/02/26 Python
python与js主要区别点总结
2020/09/13 Python
python中PyQuery库用法分享
2021/01/15 Python
西班牙多品牌鞋店连锁店:Krack
2018/11/30 全球购物
公司前台辞职报告
2014/01/19 职场文书
村党支部换届选举方案
2014/05/02 职场文书
全运会口号
2014/06/20 职场文书
银行授权委托书范本
2014/10/04 职场文书
2014年大学宣传部工作总结
2014/12/19 职场文书
暂停营业通知
2015/04/25 职场文书
地道战观后感
2015/06/04 职场文书
周末问候语大全
2015/11/10 职场文书
Python&Matlab实现樱花的绘制
2022/04/07 Python