2013-03-06 40 views
1

我從canutils有一個名爲candump的命令行實用程序。它的工作原理是這樣的:從python終止一個linux命令行實用程序

我跑candump(指​​定從中我想轉儲總線)

[email protected]: candump can0 

然後它運行,直到我結束它使用CTRL+C

然而,當我在運行它像這樣的python腳本。

Popen(["candump","can0"],stdout=PIPE) 

call(["candump","can0"]) 

我不知道如何結束它。有任何想法嗎?

+0

[相關。](http://stackoverflow.com/questions/13030162/manually-closing-subprocess-pipe) – Cairnarvon 2013-03-06 22:58:10

+1

'Popen.terminate( )'和'Popen.kill()'如果你不想使用'send_signal'應該可以工作。 [文件](http://docs.python.org/2/library/subprocess.html#subprocess.Popen.terminate) – msvalkon 2013-03-06 23:01:50

回答

1

使用Popen(),並在返回的Popen對象上調用send_signal(signal.SIGINT)