![39ebdf43a0faff243225705e219f58be.png](https://img-blog.csdnimg.cn/img_convert/39ebdf43a0faff243225705e219f58be.png)
![8c7e6fb238edbed987bbd98bd44eb222.png](https://img-blog.csdnimg.cn/img_convert/8c7e6fb238edbed987bbd98bd44eb222.png)
上一篇写了做个可以发送邮件的小demo,这一篇呢我们来谈一谈如何让他更加方便的自动执行,刚开始的时候吧,我有3个想法,1.放在服务器让他在后台执行;2.写在Django里面,可以在后台设置;3.放在Windows上面定时任务,到了设定的时间就调用,最后啊,为了方便我还是把他放在了服务器上面后台执行,后续要是时间多的话可以把它集成在我的博客里,这样方便,想修改的时候不用动源码。
ok我们讲完了流程,接下来就是实践的环节了!
初步尝试:
刚开始直接把代码传到服务器,执行的时候出问题了,因为咱也不是很懂服务器,于是乎今天2020年9月23日上午在我乎上面发了一个问题, 感谢@洛克大佬儿的解答,才有了今天我写的这一篇文章,得尽快记录下来,省的忘了。
python脚本在服务器执行报错?www.zhihu.com原来购买的某云服务器默认的情况不给开发邮件的25端口,你得去找,然后才能开通,这是某云解封25端口的链接:有需要的朋友可以去康康!
https://cloud.tencent.com/document/product/213/40436cloud.tencent.com解封完了可以继续往下走了!
后台部署:
![5ab98161d2406e2ab274a47504fb9c74.png](https://img-blog.csdnimg.cn/img_convert/5ab98161d2406e2ab274a47504fb9c74.png)
创建好这2个文件,bai.py里面存放我们写好的python代码,bai.out文件里面存放一些输出的日志记录
nohup python -u bai.py > bai.out 2>&1 &
# nohup+最后面的& 是让命令在后台执行
# >bai.out 是将信息输出到out日志中
# 2>&1 是将标准错误信息转变成标准输出,这样就可以将错误信息输出到bai.out 日志里面来。
命令执行完毕会返回一个id,看到这个id就说明这程序在后台执行了,如果看到的是:
![354cb3737980b49ac2858d610a1d8f01.png](https://img-blog.csdnimg.cn/img_convert/354cb3737980b49ac2858d610a1d8f01.png)
就说明你登录的这个账号吧权限不够,先修改一下权限:
sudo chmod 777 youfile.py
再次执行即可!
为了验证是否在后台记录,我们退出了再次重新登陆一下看看
tail -f bai.out
![382aac0e2bcb0581846d9b0e042c07b3.png](https://img-blog.csdnimg.cn/img_convert/382aac0e2bcb0581846d9b0e042c07b3.png)
这就大功告成!
若是想结束本程序呢,就先查看一下进程,然后直接杀掉对应的id号的程序就成
ps -ef | grep python
![fd91ff16c55ad55f1ef9df643018321a.png](https://img-blog.csdnimg.cn/img_convert/fd91ff16c55ad55f1ef9df643018321a.png)
kill -9 youid