python画完图 程序暂停运行_阿里云后台运行python程序(后台运行scrapy爬虫)的方法...

1. 问题引入

通过Xshell工具连接远程阿里云服务器后,如何运行python程序呢?这个大家都知道,python命令啦。

举个栗子:通过Xshell在某个目录下输入命令:python test.py就执行了test.py这个程序。

但是如果我这个test.py要运行好久呢?比如运行好几天,难道要一直开着Xshell工具,开着本地电脑吗?有没有关掉Xshell连接服务器上的程序依旧运行的方法呢?

当然有啦~

2. 正文

本文就是来讲一下如何后台运行python程序的。

关键的命令:nohup

只需要输入下面的命令就可以在后台一直执行python程序啦

nohup python -u test.py > test.log 2>&1 &

这条命令的意思是,执行test.py程序,并把程序中执行的情况记录到test.log文件中,包括程序异常、程序中打印的信息等。

PS: 也可以把上述命令写成nohup python -u test.py > nohup.out 2>&1 &唯一的区别就是把日志信息写到nohup.out文件中去了,两种做法都行。

输入后,回车。会打印出一个进程号(我这里是4935)。

27b32d142374d06ae66eec280ff4a648.png

通过ps -A命令查看当前运行的所有进程。你就会发现刚才生成的进程号在列出的进程里面啦。

627a518bf5ffc4d80b1133681a2c2b41.png

关掉Xshell,重新连接,再次ps -A命令查看当前运行的所有进程,哈哈,刚才的那个进程号还在。说明test.py程序还在执行。。。

3. 应用场景

这个方法有没有用呢?当然有用啦!!用处大大地!

比如,我在处理一个220M的文txt文件,需要对其中的所有字符进行替换操作,在本地运行的话,运行3天也运行不完,总不能一直开着我的笔记本吧。买了个阿里云服务器闲着也是闲着,用这个方法就可以在服务器上一直运行啦~

再比如,前一段写爬虫,也是这种情况。爬时光网所有短评,长评,用scrapy框架写的,运行在本地的话要运行几天,不知道要多久。这时候又可以放到阿里云服务器运行了~

这里稍微记录一下如何在远程服务器端后台运行scrapy爬虫程序:

我们都知道,在本地运行scrapy程序只需要命令scrapy crawal myspider,那么在服务器端,如何运用上述后台运行python文件的方法来运行scrapy程序呢?

简单!再写一个python文件,如run.py,内容如下:

import os

if __name__ == '__main__':

os.system("scrapy crawl myspider")

然后执行:nohup python -u run.py > run.log 2>&1 &

很显然了,就是在python文件中调用系统命令,运行scrapy crawl myspider这条命令啦。通过后台运行这个run.py文件,来执行scrapy crawl myspider这条命令,从而达到后台运行scrapy爬虫程序的目的。

————————————————

版权声明:本文为CSDN博主「fxjzzyo」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/fxjzzyo/article/details/80603299

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值