欢迎关注「issnail」

“一起学习,一起成长“

当运行一个程序时,操作系统会创建一个进程。它会使用系统资源(CPU、内存和磁盘空间)和操作系统内核中的数据结构(文件、网络连接、用量统计等)。进程之间是互相隔离的,即一个进程既无法访问其他进程的内容,也无法操作其他进程。

操作系统会跟踪所有正在运行的进程,给每个进程一小段运行时间,然后切换到其他进程,这样既可以做到公平又可以响应用户操作。可以在图形界面中查看进程状态,在Mac OS X上可以使用活动监视器,在Windows上可以使用任务管理器。

可以自己编写城区来获取进程信息。标准库模块os提供了一些常用的获取系统信息的函数。举例来说,下面的函数会获取正在运行的python解释器的进程号和当前工作目录。

>>> import os

>>> os.getpid()

4988

>>> os.getcwd()

'C:甥敳獲lpt20'

1. 使用subprocess创建进程

到目前为止,看到的左右程序都是单进程程序。可以使用python标准库中的subprocess模块来启动和终止其他程序。如果只是想在shell中运行其他程序并获取它的输出(标准输出和标准错误输出),可以使用getoutput()函数。

>>> import subprocess

>>> ret=subprocess.getoutput('date')

>>> ret

'当前日期: 2018/06/23 周六 输入新日期: (年月日) '

在进程执行完毕之前,获取不到任何内容。如果需要调用一些比较耗时的程序,可以使用11.1节提到的并发。因为getoutput()的参数是一个字符串,可以表示一个完整的shell命令,所以可以在李敏使用参数、管道、I/O重定向,等等;

2. 使用multiprocessing创建进程

import multiprocessing

from multiprocessing import Process

import os

def do_this(what):

whoami(what)

def whoami(what):

print("Process %s says: %s" % (os.getpid(),what))

if __name__=="__main__":

whoami("我是主程序")

for n in range(4):

p=Process(target=do_this,args=("我是主程序 %s" % n,))

p.start()

3. 使用terminate()终止进程

import multiprocessing

from multiprocessing import Process

import time

import os

def whoami(name):

print("我是 %s,in process %s" % (name,os.getpid()))

def loopy(name):

whoami(name)

start=1

stop=1000000

for num in range(start,stop):

print("Number %s of %s,Honk!" % (num,stop))

time.sleep(1)

if __name__=="__main__":

whoami("main")

p=Process(target=loopy,args=("loopy

c获取当前系统时间_Python系统:程序和进程相关推荐

  1. Linux系统时间、系统时区和时钟同步的部分理解

    1.写在前面 因为最近一段时间以来,本人在项目遇到的因为Linux系统时间所引发的问题比较多,所以在此进行总结. 2.Linux系统时间与BIOS硬件时间之间的关系 2.1.RTC芯片.i2c总线和B ...

  2. 转:Android中如何修改系统时间(应用程序获得系统权限)

    在 android 的API中有提供 SystemClock.setCurrentTimeMillis()函数来修改系统时间,可惜无论你怎么调用这个函数都是没用的,无论模拟器还是真机,在logcat中 ...

  3. wincc显示系统时间_wincc系统日期时间获取

    wincc 系统日期时间获取 系统时间的获得,有两种办法,一是建立 TAG ,二是使用函数获取 系统时间 方法一: 在 [Tag Management] 添加新的驱动 "System Inf ...

  4. linux系统中防止系统时间,设置系统时间与在Linux中

    设置系统时间的GPS timestamp_t结构与GPS在Linux的设置系统时间与在Linux中 timestamp_t结构 大家好, 我想,一旦我得到一个succesfull GPS锁定(写代码A ...

  5. 在C#中改变系统时间 得到系统时间改变通知

    本文章为该blog(blog.csdn.net/uoyevoli/)主人 uoyevoli 原创(作者个人网站: www.farproc.com),如果转载,请注明出处,谢谢!! 2005-8-5 一 ...

  6. windows下命令行修改系统时间;修改系统时间的软件

    找了很久,都没有找到,还找了关键词 dos下修改系统时间 因为看到linux下修改系统时间是用hwclock 命令写入主板芯片. 而我由于某些原因想自动化修改系统时间,所以找windows下修改系统时 ...

  7. Linux学习之系统编程篇:程序、进程、并发、并行

    一.程序和进程 (1)程序: 本质:二进制文件,可以运行,但还没有运行,占用磁盘空间,不占用 CPU 和内存(系统资源). (2)进程: 本质:正在执行的程序,占用 CPU 和内存等更多的系统资源,一 ...

  8. python 获取当前日期和时间_python获取当前日期和时间的方法

    本文实例讲述了python获取当前日期和时间的方法.分享给大家供大家参考.具体如下: import datetime # Get a datetime object now = datetime.da ...

  9. python运维系统开发_Python系统运维开发实战

    课程主题: Python 高级运维开发实战 课程讲师: Alex 老师, triaquae python 开源运维管理软件创始人,知名 IT 公司运维开发架构师 课程安排: 每周六一天全天(早 9:0 ...

最新文章

  1. VO 2 具体的过程
  2. vi 从第几行到第几行 替换_第三十三章:查找新函数:XLOOKUP,再也不用趴着电脑屏幕数第几列、第几行(二)...
  3. document.write()详解
  4. 使用WireMock进行更好的集成测试
  5. 我现写掼蛋游戏就是要努力奋斗
  6. Hollis要转行了?
  7. 【英语学习】【Daily English】U05 Places L03 I'd like to open an account
  8. python定义函数的组成部分有_Python学习笔记之函数的定义和作用域实例详解
  9. Tensorflow 2.x代码中如何控制随机性以保证结果可重复性
  10. JS 新浪API获取IP归属地
  11. servlet+jsp项目改成springboot+jsp+maven
  12. 密码学基础之对称密钥的分发和存储
  13. C语言串口一直接收00,串口助手一直接收00;
  14. Foxmail发送邮件,发送邮件工具类
  15. APP设计:(一)app界面常用设计规范
  16. 血淋淋的经验!2021做亚马逊测评是搭上末班车?还是成为新韭菜?
  17. 计算机内存数值存储方式(原码、反码、补码)
  18. 详解SAN存储技术的前世今生
  19. android mapview 自定义地图标注,关于Android集成高德地图的那些事儿...地图标注Marker 、Poi 搜索...
  20. linux下实现root用户和其他用户之间转换

热门文章

  1. android shortcut livefoulder
  2. Android底层开发之Audio HAL Android Audio Overview
  3. T25健身视频全集+课表
  4. 【转】rails 遇到 Could not find a JavaScript runtime execjs错误(ubuntu)
  5. 帧、场编码的个人理解
  6. C#语言编程之抽象类与接口的比较
  7. Qt Creator中常用快捷键和小技巧
  8. Python的pycurl库升级升级失败的解决方法
  9. Python 3标准库,[美] 道格·赫尔曼(Doug Hellmann)
  10. 在32位Windows上扩展虚拟内存(Labview)