c获取当前系统时间_Python系统:程序和进程
歡迎關(guān)注「issnail」
“一起學(xué)習(xí),一起成長“
當(dāng)運行一個程序時,操作系統(tǒng)會創(chuàng)建一個進程。它會使用系統(tǒng)資源(CPU、內(nèi)存和磁盤空間)和操作系統(tǒng)內(nèi)核中的數(shù)據(jù)結(jié)構(gòu)(文件、網(wǎng)絡(luò)連接、用量統(tǒng)計等)。進程之間是互相隔離的,即一個進程既無法訪問其他進程的內(nèi)容,也無法操作其他進程。
操作系統(tǒng)會跟蹤所有正在運行的進程,給每個進程一小段運行時間,然后切換到其他進程,這樣既可以做到公平又可以響應(yīng)用戶操作。可以在圖形界面中查看進程狀態(tài),在Mac OS X上可以使用活動監(jiān)視器,在Windows上可以使用任務(wù)管理器。
可以自己編寫城區(qū)來獲取進程信息。標(biāo)準(zhǔn)庫模塊os提供了一些常用的獲取系統(tǒng)信息的函數(shù)。舉例來說,下面的函數(shù)會獲取正在運行的python解釋器的進程號和當(dāng)前工作目錄。
>>> import os
>>> os.getpid()
4988
>>> os.getcwd()
'C:甥敳獲lpt20'
1. 使用subprocess創(chuàng)建進程
到目前為止,看到的左右程序都是單進程程序。可以使用python標(biāo)準(zhǔn)庫中的subprocess模塊來啟動和終止其他程序。如果只是想在shell中運行其他程序并獲取它的輸出(標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯誤輸出),可以使用getoutput()函數(shù)。
>>> import subprocess
>>> ret=subprocess.getoutput('date')
>>> ret
'當(dāng)前日期: 2018/06/23 周六 輸入新日期: (年月日) '
在進程執(zhí)行完畢之前,獲取不到任何內(nèi)容。如果需要調(diào)用一些比較耗時的程序,可以使用11.1節(jié)提到的并發(fā)。因為getoutput()的參數(shù)是一個字符串,可以表示一個完整的shell命令,所以可以在李敏使用參數(shù)、管道、I/O重定向,等等;
2. 使用multiprocessing創(chuàng)建進程
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
總結(jié)
以上是生活随笔為你收集整理的c获取当前系统时间_Python系统:程序和进程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: innodb一页为什么要存储两行记录_i
- 下一篇: windows照片查看器无法显示此图片_