Python 学习 第四册 第10章 系统(2)

发布于:2024-06-22 ⋅ 阅读:(77) ⋅ 点赞:(0)

-----用教授的方式学习

目录

10.3 进程

10.3.1 使用subprocess创建进程

10.3.2 使用multiprocessing创建进程

10.3.3 使用terminate()终止进程

10.4 日期和时间

10.4.1 datetime模块

10.4.2 使用time模块

10.4.3 读写日期和时间


10.3 进程

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

>>> import os

>>> os.getpid()

76051

>>> os.getcwd()

'/Users/williamlubanovic'

下面的函数会获取我的用户 ID 和用户组 ID:

>>> os.getuid()

501

>>> os.getgid()

20

10.3.1 使用subprocess创建进程

你可以使用 Python 标准库中的subprocess 模块来启动和终止其他程序。

>>> import subprocess

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

>>> ret

'Sun Mar 30 22:54:37 CDT 2024'

因为 getoutput() 的参数是一个字符串,可以表示一个完整的 shell命令,所以你可以在里面使用参数、管道、I/O 重定向 < 和 >,等等:

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

>>> ret

'Mon Mar 31 03:55:01 UTC 2024'

把这个输出用管道传给 wc 命令,可以计算出一共有 1 行、6 个单词和 29 个字符:

>>> ret = subprocess.getoutput('date -u | wc')

>>> ret

' 1 6 29'

另一个类似的方法是 check_output(),可以接受一个命令和参数列表。

>>> ret = subprocess.check_output(['date', '-u'])

>>> ret

b'Mon Mar 31 04:01:50 UTC 2024\n'

要获取其他程序的退出状态,可以使用 getstatusoutput() 函数,它会返回一个包含状态码和输出的元组:

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

>>> ret

(0, 'Sat Jan 18 21:36:23 CST 2024')

如果只想要退出状态,可以使用 call():


网站公告

今日签到

点亮在社区的每一天
去签到