脚本服务化目的:

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 &"

}

#停止服务方法

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中的服务启动实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

时间: 2019-06-26

python脚本在linux上运行的两种方式_python脚本当作Linux中的服务启动实现方法相关推荐

  1. python实现selenium文件上传的两种方式

    方法一.input标签上传     如果是input标签,可以直接输入路径,那么可以直接调用send_keys输入路径. 方法二.非input标签上传 这种上传方式需要借助第三方工具,主要有以下三种情 ...

  2. linux服务器 远程桌面,Linux 远程桌面的两种方式

    在绝多数情况下,Linux 不需要使用到GUI的桌面环境,但是有时在一些特殊的场景如安装Oracle的时候,需要有图形界面进行辅助才可以安装. 如果要使用Linux的图形界面,一般有两种方式: 1.L ...

  3. linux远程桌面方式,Linux 远程桌面的两种方式

    在绝多数情况下,Linux 不需要使用到GUI的桌面环境,但是有时在一些特殊的场景如安装Oracle的时候,需要有图形界面进行辅助才可以安装. 如果要使用Linux的图形界面,一般有两种方式: 1.L ...

  4. Linux 修改密码的两种方式

    Linux 修改密码的两种方式 1.直接进行修改 2.使用 echo 进行修改 1.直接进行修改 密码需要输入两次进行确认. 对用户"zhangyan"进行密码修改,改为" ...

  5. python怎么下载图片怎么保存到本地_详解Python下载图片并保存本地的两种方式

    一:使用Python中的urllib类中的urlretrieve()函数,直接从网上下载资源到本地,具体代码: import os,stat import urllib.request img_url ...

  6. 原生态的ajax如何上传文件,原生ajax和iframe框架实现图片文件上传的两种方式

    大家应该可以举出几种常用的异步文件上传功能的实现方式,使用频率较多的有原生ajax和iframe框架,实现图片文件上传,下面就为大家分享图片文件上传的两种方式:原生ajax和iframe框架,供大家参 ...

  7. mysql 停从库_MySQL_通过两种方式增加从库——不停止mysql服务,一般在线增加从库有两种方式 - phpStudy...

    通过两种方式增加从库--不停止mysql服务 一般在线增加从库有两种方式,一种是通过mysqldump备份主库,恢复到从库,mysqldump是逻辑备份,数据量大时,备份速度会很慢,锁表的时间也会很长 ...

  8. 宝塔Linux部署JavaWeb项目两种方式,图文并茂

    目录 1.进入宝塔Linux面板宝塔linux面板,一键安装LAMP/LNMP/SSL/Tomcat (bt.cn) 2.安装宝塔面板​ 然后:因为我们用的java,这里的环境不适合,选择仅宝塔面板​ ...

  9. linux两种方式改变文件权限,Linux更改文件权限的两种方式

    今天小编要跟大家分享一篇关于Linux更改文件权限的方式,喜欢Linux的小伙伴来看一看吧. 我们知道·Linux系统最主要的特点之一就是--Linux系统是多用户.多任务的操作系统. 何为多用户?就 ...

最新文章

  1. 程序员颈椎病康复秘籍
  2. IT运维服务管理中知识
  3. m3u8文件在手机上用什么软件看_新技能Get!教你制作m3u8文件 创建属于自己的直播视频列表...
  4. boost::mp11::mp_pop_back相关用法的测试程序
  5. [转]2020年5月程序员工资统计,平均14542元
  6. 在JVM中记录世界停顿
  7. 【LeetCode 629】K个逆序对数组
  8. golang 的交叉编译
  9. php设计模式实战之--观察者模式
  10. 【搜索-剪枝-偏难】PAT-天梯赛-L3-015. 球队“食物链”
  11. Verilog基础语法(一)
  12. 华为 OSPF虚链路出现环路了,如何解决?
  13. HTTP和HTTPS、GET和POST
  14. 征途服务器文件,如何使用云服务器架设征途
  15. 房屋水电煤气省钱秘籍
  16. WIN10-NVME硬盘-无U盘安装-Ubuntu22.04-双系统(非虚拟机)
  17. 饶有趣味的字、词、句——《语文常谈》读书笔记(4)
  18. 巅峰对决:node.js和php性能测试
  19. Unity Movetowards方法
  20. 三分类、五分类、CRP\SAA、六分类

热门文章

  1. 零基础iOS之Json及XML数据解析2
  2. 使用Sublime Text 3做Python开发
  3. CString,int,string,char*之间的转换(转)
  4. 国内最强算法推荐系统,百度第二,它排第一!
  5. MedMNIST:上海交大发布医学影像领域的MNIST(附下载)
  6. 灵活、轻便,阿里开源简化GNN应用框架Graph-Learn
  7. EfficientDet目标检测谷歌官方终于开源了!
  8. 0基础学Python,要报班吗?
  9. 工作10以上老程序员都去哪了?作为新时代的程序员我们该何去何从
  10. java dateformat hh_SimpleDateFormat上的Java HH:mm和hh:mm之间的区别