python 系統編程之建立進程 create process

來源:互聯網
上載者:User

標籤:python   建立進程   process   fork   

一、forking 進程

通過fork產生的進程有以下幾個特點:

  • 是一個進程的複製。
  • 建立的進程獨立於父進程單獨存在。
  • 線程在調用fork()那那點被複製執行。
    • 在子線程中返回0。
    • 在父線程中返回子線程的pid
    • 子線程的PID不同於父線程。
二、程式碼範例
#!/usr/bin/env pythonimport osdef child_process():    print "I am the child process and my PID is : %d" % os.getpid()    print "teh child is exiting."def parent_process():    print "I am the parent process whit PID  :%d" % os.getpid()    childId = os.fork()    if childId == 0:        #在子進程中        child_process()    else:        #在父進程中        print "inside the parent process"        print "my child‘s pid is : %d" % childId    while True:        passparent_process()

子線程結束後,父線程依然在運行,並沒有推出。

三、量產新的線程
  • os.exec* 系列函數
    • os.execl
    • os.execle
    • os.execvp
  • 子進程覆蓋父進程

可以發現通過這種方式建立的進程是覆蓋掉了父進程,當子進程結束時,父進程也跟著結束了。

python 系統編程之建立進程 create process

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.