c获取当前系统时间_Python系统:程序和进程
歡迎關注「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系统:程序和进程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: innodb一页为什么要存储两行记录_i
- 下一篇: windows照片查看器无法显示此图片_