python脚本在linux上运行的两种方式_python脚本当作Linux中的服务启动实现方法
脚本服务化目的:
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中的服务启动实现方法相关推荐
- python实现selenium文件上传的两种方式
方法一.input标签上传 如果是input标签,可以直接输入路径,那么可以直接调用send_keys输入路径. 方法二.非input标签上传 这种上传方式需要借助第三方工具,主要有以下三种情 ...
- linux服务器 远程桌面,Linux 远程桌面的两种方式
在绝多数情况下,Linux 不需要使用到GUI的桌面环境,但是有时在一些特殊的场景如安装Oracle的时候,需要有图形界面进行辅助才可以安装. 如果要使用Linux的图形界面,一般有两种方式: 1.L ...
- linux远程桌面方式,Linux 远程桌面的两种方式
在绝多数情况下,Linux 不需要使用到GUI的桌面环境,但是有时在一些特殊的场景如安装Oracle的时候,需要有图形界面进行辅助才可以安装. 如果要使用Linux的图形界面,一般有两种方式: 1.L ...
- Linux 修改密码的两种方式
Linux 修改密码的两种方式 1.直接进行修改 2.使用 echo 进行修改 1.直接进行修改 密码需要输入两次进行确认. 对用户"zhangyan"进行密码修改,改为" ...
- python怎么下载图片怎么保存到本地_详解Python下载图片并保存本地的两种方式
一:使用Python中的urllib类中的urlretrieve()函数,直接从网上下载资源到本地,具体代码: import os,stat import urllib.request img_url ...
- 原生态的ajax如何上传文件,原生ajax和iframe框架实现图片文件上传的两种方式
大家应该可以举出几种常用的异步文件上传功能的实现方式,使用频率较多的有原生ajax和iframe框架,实现图片文件上传,下面就为大家分享图片文件上传的两种方式:原生ajax和iframe框架,供大家参 ...
- mysql 停从库_MySQL_通过两种方式增加从库——不停止mysql服务,一般在线增加从库有两种方式 - phpStudy...
通过两种方式增加从库--不停止mysql服务 一般在线增加从库有两种方式,一种是通过mysqldump备份主库,恢复到从库,mysqldump是逻辑备份,数据量大时,备份速度会很慢,锁表的时间也会很长 ...
- 宝塔Linux部署JavaWeb项目两种方式,图文并茂
目录 1.进入宝塔Linux面板宝塔linux面板,一键安装LAMP/LNMP/SSL/Tomcat (bt.cn) 2.安装宝塔面板 然后:因为我们用的java,这里的环境不适合,选择仅宝塔面板 ...
- linux两种方式改变文件权限,Linux更改文件权限的两种方式
今天小编要跟大家分享一篇关于Linux更改文件权限的方式,喜欢Linux的小伙伴来看一看吧. 我们知道·Linux系统最主要的特点之一就是--Linux系统是多用户.多任务的操作系统. 何为多用户?就 ...
最新文章
- 程序员颈椎病康复秘籍
- IT运维服务管理中知识
- m3u8文件在手机上用什么软件看_新技能Get!教你制作m3u8文件 创建属于自己的直播视频列表...
- boost::mp11::mp_pop_back相关用法的测试程序
- [转]2020年5月程序员工资统计,平均14542元
- 在JVM中记录世界停顿
- 【LeetCode 629】K个逆序对数组
- golang 的交叉编译
- php设计模式实战之--观察者模式
- 【搜索-剪枝-偏难】PAT-天梯赛-L3-015. 球队“食物链”
- Verilog基础语法(一)
- 华为 OSPF虚链路出现环路了,如何解决?
- HTTP和HTTPS、GET和POST
- 征途服务器文件,如何使用云服务器架设征途
- 房屋水电煤气省钱秘籍
- WIN10-NVME硬盘-无U盘安装-Ubuntu22.04-双系统(非虚拟机)
- 饶有趣味的字、词、句——《语文常谈》读书笔记(4)
- 巅峰对决:node.js和php性能测试
- Unity Movetowards方法
- 三分类、五分类、CRP\SAA、六分类
热门文章
- 零基础iOS之Json及XML数据解析2
- 使用Sublime Text 3做Python开发
- CString,int,string,char*之间的转换(转)
- 国内最强算法推荐系统,百度第二,它排第一!
- MedMNIST:上海交大发布医学影像领域的MNIST(附下载)
- 灵活、轻便,阿里开源简化GNN应用框架Graph-Learn
- EfficientDet目标检测谷歌官方终于开源了!
- 0基础学Python,要报班吗?
- 工作10以上老程序员都去哪了?作为新时代的程序员我们该何去何从
- java dateformat hh_SimpleDateFormat上的Java HH:mm和hh:mm之间的区别