xml地图|网站地图|网站标签 [设为首页] [加入收藏]

智能家电

当前位置:美高梅游戏网站 > 智能家电 > 对Python进程进行全解析

对Python进程进行全解析

来源:http://www.gd-chuangmei.com 作者:美高梅游戏网站 时间:2019-09-05 02:04

对第一次接触到Python 编辑器的用户和学者来说,了解Python 编辑器的概念是非常重要的,那么就先说一下什么是Python 编辑器,所谓Python 编辑器:是一种使用非常广泛的计算机编程语言。

下面对Python进程进行深入而仔细的学习,首先先让大家了解下什么是Python进程,以及在对Python进程进行处理时注意的相关问题,接下来,就由我给大家进行介绍学习,仅供大家学习。

一个有趣的决定使 Komodo 基于 Mozilla 框架构建。初看起来,Web 浏览器并不需要那么多对 IDE 有用的代码,但 ActiveState 充分利用了这一点(Mozilla 试图成为一个“平台”而不仅仅是一个浏览器,事实也的确如此)。

不过,虽然进程可在单独的内存空间中执行,但除非这些Python进程在单独的处理器上执行,否则,实际并不是“同时”运行的。是由操作系统把处理器的时间片分配给一个进程,用完时间片后就需退出处理器等待另一个时间片的到来。

Komodo 一年的定价为 295 美元,而免费 beta 版出现后该定价相当令人失望。而且,ActiveState 似乎违反了 Komodo 代码所取自的 Mozilla 的公共许可的精神(可能与原文有出入)。

另一种方式是在在程序中指定多个“执行线程”,让它们在相同的内存空间中工作。这称为“多线程处理”。线程比进程更有效,因为操作系统不必为每个线程创建单独的内存空间。新建进程用os.fork函数。但它只在POSIX系统上可用,在windows版的python中,os模块没有定义os.fork函数。相反,windows程序员用多线程编程技术来完成并发任务。

我希望 ActiveState 决定修改许可条例,来遵守开放源代码的惯例(可对技术支持和自动更新收费)。我试用的 Beta 1.3 支持 Python、Perl、TCL、Javascript 和 XML 的开发。并支持其他几十种语言的语法标签高亮显示(但没有更多语言支持)。Python 支持是目前最强的。现有一个支持 Win32 和 Linux 的 beta 版,并将陆续支持其他平台。

os.fork函数创建进程的过程是这样的。程序每次执行时,操作系统都会创建一个新进程来运行程序指令。进程还可调用os.fork,要求操作系统新建一个进程。父进程是调用os.fork函数的进程。父进程所创建的进程叫子进程。

以我的观点,Komodo 更像是Python 编辑器的超集。据我所知,它不共享大多数的相同代码库,但使用的感觉及其相似。由于继承了 Mozilla 的特性,Komodo 是我所测评的软件中界面最好的一个,因为同样的原因它也是运行最慢的。

每个进程都有一个不重复的进程ID号。或称pid,它对进程进行标识。子进程与父进程完全相同,子进程从父进程继承了多个值的拷贝。如全局变量和环境变量。两个进程的唯一区别是fork的返回值。子进程接收返回值0,而父进程接收子进程的pid作为返回值。

我建议不要在较老的机器上使用 Komodo;我在 366Mhz Win95r2 系统上测试,发现它能运行,但是速度不快。虽然调试器和编辑器的界面与 PythonWin 差不多,但是您可编辑许多其他语言。

用os.fork创建的子进程和父进程作为异步的并发进程而单独执行。异步是指它们各行其是,相互间不进行同步;并发是指它们可同时执行。所以我们无法知道子进程和父进程的相对速度。

以及调试 Perl 和Python 编辑器;而且您可在 Linux 下运行 Komodo。Komodo 的“代码检查”功能非常智能和独特。它像许多近期字处理软件的拼写检查器那样运作。在输入的时候,有问题的代码以下划曲线标示;您可继续输入。

os.wait函数用于等待子进程结束(只适用于UNIX兼容系统)。该函数返回包含两个元素的元组,包括已完成的子进程号pid。以及子进程的退出状态,返回状态为0,表明子进程成功完成。返回状态为正整数表明子进程终止时出错。

而它会一直标示着直到您返回并修正该问题,同时也是个很好的提示。Komodo 没有试图内建任何表单设计器或者图形编程,除此之外,作为 beta 版它是还是不错的。现在让我们来分析购买 Python IDE 的方法吧。

如没有子进程,会引发OSError错误。os.wait要求父进程等待它的任何一个子进程结束执行,然后唤醒父进程。要指示父进程等候一个指定的子进程终止,可在父进程中使用os.waitpid函数(只适用于unix兼容系统)。

人们通常认为商业产品会提供额外的功能而值得花钱购买。在某些方面的确如此。WingIDE 的售价是 100 美元。BlackAdder 的售价是 80 美元(仅限在个人系统上使用)和 400 美元(可将 BlackAdder 的运行组件一同分发给其他人)。

它可等候一个指定进程结束,然后返回一个双元素元组,其中包括子进程的pid和子进程的退出状态。函数调用将pid作为第一个参数传递。并将一个选项作为第二个选项,如果第一个参数大于0,则waitpid会等待该pid结束,如果第一个参数是-1,则会等候所有子进程,也就和os.wait一样。

可惜的是,我发现这两种产品都不足够稳定,无法推荐给各位用于实际开发。若是不能用于实际开发的 IDE,那么常规功能就并不值那么多。但愿这两种产品能通过新版本或修正补丁而有所提高。BlackAdder 是在 linux 和 windows 下的基于 QT 的开发环境;请参阅屏幕截图。

用os.system 和 os.exec函数族来执行系统命令和其它程序。os.system使用shell来执行系统命令,然后在命令结束之后把控制权返回给原始进程;os.exec函数族在执行完命令后不将控制权返回给调用进程。它会接管Python进程,pid不变。这两个函数支持unix和windows平台。

本文由美高梅游戏网站发布于智能家电,转载请注明出处:对Python进程进行全解析

关键词: