如何让 Python 代码常驻在服务器进程中

如何让 Python 代码常驻在服务器进程中,第1张

一、nohup

nohup,即 no hangup,nohup 的用途就是让提交的命令忽略 hangup 信号,从而使我们的进程避免中途被中断。它可以让 python 脚本和服务器连接端的 session 分离,以达到退出后依旧执行:

$ chmod +x /your_path/yourscriptpy   # 先设置可执行权限$ nohup python /your_path/yourscriptpy# 切记退出的 Terminal 的时候,不要 ctrl+c 退出,而是直接关闭,不然 Nohup 就被你关闭了。

如何关闭这个一直执行的进程呢:

# 找到对应的进程 PID

$ ps -ef | grep python

# 返回内容如:

user      2430     1  0 Jul03        00:00:01 /usr/bin/python -tt /usr/sbin/yum-updatesd

# kill 掉该进程即可:

$ kill -9 2430

PS:nohup 在服务器重启之后就失效了,所以并不完美。

二、将命令写入 Linux 启动脚本

Linux 在启动的时候会执行 /etc/rclocal 里面的脚本,所以只要在这里添加执行命令就可以:

$ vim /etc/rclocal

# 如果是 Centos 添加以下内容:

/your_path/python34 /your_path/yourscriptpy

# 以上内容需要添加在 exit 命令前,而且由于在执行 rclocal 脚本时,PATH 环境变量未全部初始化,因此命令需要使用绝对路径

PS:这种方式的缺点是如果脚本挂了,那么不会自动重新启动。

三、使用 Supervisor 进程管理工具

详见这篇文章:使用 Supervisor 管理服务器后台进程,在服务器重启和脚本出错后,可以完美重启,推荐。

Python不仅仅是一个设计优秀的程序语言,它能够完成现实中的各种任务,你可以在任何场合应用Python,从网站和游戏开发到机器人和航天飞机控制。(如何学好Python,请看总结!)

尽管如此,Python的应用领域分为下面几类。下文将介绍一些Python具体能帮我们做的事情。

1python可以用于系统编程Python对操作系统服务的内置接口,使其成为编写可移植的维护操作系统的管理工具和部件(有时也被称为Shell工具)的理想工具。

Python程序可以搜索文件和目录树,可以运行其他程序,用进程或线程进行并行处理等等。

2python可以用于用户图形接口Python的简洁以及快速的开发周期十分适合开发GUI程序。

此外,基于C平台的工具包wxPythonGUIAPI可以使用Python构建可移植的GUI。诸如PythonCard和Dabo等一些高级工具包是构建在wxPython和Tkinter的基础API之上的。通过适当的库,你可以使用其他的GUI工具包,例如,Qt、GTK、MFC和Swing等。

3python可以用于Internet脚本Python提供了标准Internet模块,使Python能够广泛地在多种网络任务中发挥作用,无论是在服务器端还是在客户端都是如此。而且网络上还可以获得很多使用Python进行Internet编程的第三方工具此外,Python涌现了许多Web开发工具包,例如,Django、TurboGears、Pylons、Zope和WebWare,使Python能够快速构建功能完善和高质量的网站。

4python可以用于组件集成在介绍Python作为控制语言时,曾涉及它的组件集成的角色。Python可以通过C/C系统进行扩展,并能够嵌套C/C系统的特性,使其能够作为一种灵活的粘合语言,脚本化处理其他系统和组件的行为。

例如,将一个C库集成到Python中,能够利用Python进行测试并调用库中的其他组件;将Python嵌入到产品中,在不需要重新编译整个产品或分发源代码的情况下,能够进行产品的单独定制。5python能用于数据库编程对于传统的数据库需求,Python提供了对所有主流关系数据库系统的接口,Python定义了一种通过Python脚本存取SQL数据库系统的可移植的数据库API,这个API对于各种底层应用的数据库系统都是统一的。

所以一个写给自由软件MySQL系统的脚本在很大程度上不需改变就可以工作在其他系统上(例如,Oracle)--你仅需要将底层的厂商接口替换掉就可以实现。

6python可以用于快速原型对于Python程序来说,使用Python或C编写的组件看起来都是一样的。正因为如此,我们可以在一开始利用Python做系统原型,之后再将组件移植到C或C这样的编译语言上。

7python可以用于数值计算和科学计算编程我们之前提到过的NumPy数值编程扩展包括很多高级工具,通过将Python与出于速度考虑而使用编译语言编写的数值计算的常规代码进行集成,其他一些数值计算工具为Python提供了动画、3D可视化、并行处理等功能的支持。

8python可以用于游戏、图像、人工智能、XML、机器人等Python的应用领域很多,远比这里提到的多得多。例如,可以利用pygame系统使用Python对图形和游戏进行编程;用PIL和其他的一些工具进行图像处理;用PyRo工具包进行机器人控制编程。

总结:一个优秀的Python工程师在任何的公司待遇都是非常不错的,不仅仅领域很广,相比于其他的程序语言来说,Python更加灵活,功能强大,简单易学,是大部分企业,开发者,甚至运维和测试喜欢的语言,包括全世界最大的苹果公司。

1、Python的优势有必要作为第一步去了解,Python作为面向对象的脚本语言,优势就是数据处理和挖掘,这也注定了它和AI、互联网技术的紧密联系。

2、网站开发。Python数据处理很在线,用它编写网站可以为大众提供优秀的服务,主要使用django和flask框架,著名的网站像知乎、YouTube就是Python写的。

3、自动化运维。Python运行在Linux系统上可以作为服务器脚本不停工作,实现对主机的自动化操作,自动登录等就是应用之一。

4、网络爬虫。顾名思义,从互联网上爬取信息的脚本,主要由urllib、requests等库编写,实用性很强,小编就曾写过爬取5w数据量的爬虫。在大数据风靡的时代,爬虫绝对是新秀。

5、人工智能。AI使Python一战成名,AI的实现可以通过tensorflow库。小编认为,神经网络的核心在于激活函数、损失函数和数据,数据可以通过爬虫获得。训练时大量的数据运算又是Python的show time。

6、当然以上只是Python应用最多的领域,别的领域和这些往往存在交集,这里就不再赘述了,至于Python能不能写外挂和游戏,下面小编就告诉大家。

7、外挂是写不了的,Python是脚本语言,不可能像易语言、C语言那样流畅自如地编写辅助。

8、游戏并不适合用Python开发,Python虽有pygame库,但是功能不强,游戏运行效率低下,写游戏还是要靠游戏引擎。

王者之心2点击试玩

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何让 Python 代码常驻在服务器进程中

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情