2010-11-17 29 views
0

專業 我知道如何啓動在通過過程中的Linux終端命令來啓動程序等......喜歡以下:[Python的]如何使用線程

import subprocess 
subprocess.Popen('ifconfig -a') 

但這是過程開了,我怎麼可以啓動在一個線程,而不是?

我知道「thread.start_new_thread」,而這應該調用一個函數。在函數中,我仍然需要使用子進程。而這只是再次打開的過程..

謝謝您的幫助。 尊敬..

+2

而不是告訴我們你認爲解決方案應該是什麼,你能解釋你正試圖解決的問題嗎?線程是工具,而不是解決方案。 – SingleNegationElimination 2010-11-17 02:00:45

+0

恩,先謝謝TokenMacGuy。我關注的項目是:啓動一個啓動虛擬機的腳本(我知道如何實現它)。由於父級腳本是主控制子腳本,也是一個進程,我希望孩子能夠在線程中啓動而不是再次啓動。 – user495511 2010-11-18 05:39:55

回答

3

ifconfig的命令始終運行在單獨的進程。無法在應用程序的「線程」內運行該命令。

也許你可以提供關於爲什麼你認爲這是必要的更詳細,我們也許能夠提出一個不同的方法。例如,如果您需要捕獲ifconfig命令的輸出,那麼在Python中確實有這樣做的方法。

+0

謝謝Greg。對不起,沒有詳細說明問題。我現在關注的項目是:腳本A啓動嵌入到另一個腳本中的多個VM。 A是通過進程打開的,VM也是通過進程打開的(就像subprocess.Popen('command')一樣),但是,因爲A是控制他的孩子的父母,所以我希望VM可以通過線程而不是進程打開。 – user495511 2010-11-18 05:42:34

0

正如您所呼叫的Python應用程序之外的另一個過程中,我認爲有沒有解決辦法,使其Python解釋器內運行。

+0

恩,謝謝Marc – user495511 2010-11-19 21:23:22