浅谈Python中进程的创建与结束

 更新时间:2023年07月26日 10:46:25   作者:Python 学习者  
这篇文章主要介绍了浅谈Python中进程的创建与结束,但凡是硬件,都需要有操作系统去管理,只要有操作系统,就有进程的概念,就需要有创建进程的方式,需要的朋友可以参考下

一、进程的创建

但凡是硬件,都需要有操作系统去管理,只要有操作系统,就有进程的概念,就需要有创建进程的方式,一些操作系统只为一个应用程序设计,比如微波炉中的控制器,一旦启动微波炉,所有的进程都已经存在。

而对于通用系统(跑很多应用程序),需要有系统运行过程中创建或撤销进程的能力,主要分为4中形式创建新的进程:

  1. 系统初始化(查看进程linux中用ps命令,windows中用任务管理器,前台进程负责与用户交互,后台运行的进程与用户无关,运行在后台并且只在需要时才唤醒的进程,称为守护进程,如电子邮件、web页面、新闻、打印)
  2. 一个进程在运行过程中开启了子进程(如nginx开启多进程,os.fork,subprocess.Popen等)
  3. 用户的交互式请求,而创建一个新进程(如用户双击暴风影音)
  4. 一个批处理作业的初始化(只在大型机的批处理系统中应用

无论哪一种,新进程的创建都是由一个已经存在的进程执行了一个用于创建进程的系统调用而创建的。

UNIX和Windows创建进程

关于创建子进程,UNIX和Windows:

  • 相同的是:进程创建后,父进程和子进程有各自不同的地址空间(多道技术要求物理层面实现进程之间内存的隔离),任何一个进程的在其地址空间中的修改都不会影响到另外一个进程。
  • 不同的是:在UNIX中,子进程的初始地址空间是父进程的一个副本,提示:子进程和父进程是可以有只读的共享内存区的。但是对于Windows系统来说,从一开始父进程与子进程的地址空间就是不同的。

二、进程的结束

  • 正常退出(自愿,如用户点击交互式页面的叉号,或程序执行完毕调用发起系统调用正常退出,在linux中用exit,在windows中用ExitProcess)
  • 出错退出(自愿,python a.py中a.py不存在)
  • 严重错误(非自愿,执行非法指令,如引用不存在的内存,1/0等,可以捕捉异常,try…except…)
  • 被其他进程杀死(非自愿,如kill -9)

到此这篇关于浅谈Python中进程的创建与结束的文章就介绍到这了,更多相关Python进程创建与结束内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python模块学习 filecmp 文件比较

    Python模块学习 filecmp 文件比较

    filecmp模块用于比较文件及文件夹的内容,它是一个轻量级的工具,使用非常简单。python标准库还提供了difflib模块用于比较文件的内容。关于difflib模块,且听下回分解
    2012-08-08
  • Django项目搭建之实现简单的API访问

    Django项目搭建之实现简单的API访问

    这篇文章主要给大家介绍了关于Django项目搭建之实现简单的API访问的相关资料,文中通过图文以及示例代码介绍的非常详细,对大家学习或者使用Django具有一定的参考学习价值,需要的朋友可以参考下
    2023-02-02
  • anaconda虚拟环境python sklearn库的安装过程

    anaconda虚拟环境python sklearn库的安装过程

    Anaconda是专注于数据分析的Python发行版本,包含了conda、Python等190多个科学包及其依赖项,这篇文章主要给大家介绍了关于anaconda虚拟环境python sklearn库的安装过程,需要的朋友可以参考下
    2023-11-11
  • Opencv图像处理方法最全总结

    Opencv图像处理方法最全总结

    这篇文章主要给大家介绍了关于Opencv图像处理方法的相关资料,OpenCV是一个开源的计算机视觉库,提供了很多图像处理、计算机视觉和机器学习等方面的函数和工具,被广泛应用于各种计算机视觉领域的研究和应用中,需要的朋友可以参考下
    2024-06-06
  • pandas 对日期类型数据的处理方法详解

    pandas 对日期类型数据的处理方法详解

    这篇文章主要介绍了pandas 对日期类型数据的处理方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • tensorflow 动态获取 BatchSzie 的大小实例

    tensorflow 动态获取 BatchSzie 的大小实例

    这篇文章主要介绍了tensorflow 动态获取 BatchSzie 的大小实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • 快速部署 Scrapy项目scrapyd的详细流程

    快速部署 Scrapy项目scrapyd的详细流程

    这篇文章主要介绍了快速部署 Scrapy项目scrapyd的详细流程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • 详解Python中的路径问题

    详解Python中的路径问题

    这篇文章主要介绍了Python中的路径问题,帮助大家更好的理解和学习python,感兴趣的朋友可以了解下
    2020-09-09
  • python创建列表并给列表赋初始值的方法

    python创建列表并给列表赋初始值的方法

    这篇文章主要介绍了python创建列表并给列表赋初始值的方法,涉及Python列表的定义与赋值技巧,需要的朋友可以参考下
    2015-07-07
  • python使用imap-tools模块下载邮件附件的示例

    python使用imap-tools模块下载邮件附件的示例

    imap-tools模块是python的第三方扩展, 它使用标准库imaplib,并将常见的邮件处理事件封装,邮件处理起来代码短,下面给大家介绍下python使用imap-tools模块下载邮件中的附件示例代码,感兴趣的朋友一起看看吧
    2021-12-12

最新评论