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读文件逐行处理的示例代码分享
Dec 27 Python
使用python调用浏览器并打开一个网址的例子
Jun 05 Python
用Python计算三角函数之acos()方法的使用
May 15 Python
python类继承用法实例分析
May 27 Python
Python数据类型详解(三)元祖:tuple
May 08 Python
Python实现获取命令行输出结果的方法
Jun 10 Python
python多线程socket编程之多客户端接入
Sep 12 Python
浅谈Python实现Apriori算法介绍
Dec 20 Python
python re模块的高级用法详解
Jun 06 Python
从Pytorch模型pth文件中读取参数成numpy矩阵的操作
Mar 04 Python
深入解析NumPy中的Broadcasting广播机制
May 30 Python
pycharm安装深度学习pytorch的d2l包失败问题解决
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
thinkPHP5项目中实现QQ第三方登录功能
2017/10/20 PHP
Jquery事件的连接使用示例
2013/06/18 Javascript
javascript正则匹配汉字、数字、字母、下划线
2014/04/10 Javascript
Javascript玩转继承(三)
2014/05/08 Javascript
javascript无刷新评论实现方法
2015/05/13 Javascript
JavaScript实现获取某个元素相邻兄弟节点的prev与next方法
2016/01/25 Javascript
JavaScript tab选项卡插件实例代码
2016/02/23 Javascript
js 判断登录界面的账号密码是否为空
2017/02/08 Javascript
JS实现的Unicode编码转换操作示例
2017/04/28 Javascript
浅谈pc端rem字体设置的问题
2017/08/03 Javascript
简单理解Vue中的nextTick方法
2018/01/30 Javascript
vue全局自定义指令-元素拖拽的实现代码
2019/04/14 Javascript
使用layui 的layedit定义自己的toolbar方法
2019/09/18 Javascript
VUE渲染后端返回含有script标签的html字符串示例
2019/10/28 Javascript
Vue 图片压缩并上传至服务器功能
2020/01/15 Javascript
vue实现简单瀑布流布局
2020/05/28 Javascript
编写Python脚本使得web页面上的代码高亮显示
2015/04/24 Python
Python编程中运用闭包时所需要注意的一些地方
2015/05/02 Python
Python实用日期时间处理方法汇总
2015/05/09 Python
详解python调度框架APScheduler使用
2017/03/28 Python
使用Python实现租车计费系统的两种方法
2018/09/29 Python
python文件和文件夹复制函数
2020/02/07 Python
python 如何区分return和yield
2020/09/22 Python
CSS3实现曲线阴影和翘边阴影
2016/05/03 HTML / CSS
罗马尼亚在线杂货店:Pilulka.ro
2019/09/28 全球购物
荷兰最大的鞋子、服装和运动折扣店:Bristol
2021/01/07 全球购物
大四学年自我鉴定
2013/11/13 职场文书
营业员演讲稿
2013/12/30 职场文书
《美丽的黄昏》教学反思
2014/02/28 职场文书
优秀食品类广告词
2014/03/19 职场文书
社区道德讲堂实施方案
2014/03/21 职场文书
演讲稿格式
2014/04/30 职场文书
病人写给医生的感谢信
2015/01/23 职场文书
库房管理员岗位职责
2015/02/12 职场文书
社区扶贫帮困工作总结
2015/05/20 职场文书
《海上日出》教学反思
2016/02/23 职场文书