2012-10-08 34 views
3

我正在檢查mplayer是否在播放mp3文件。我目前使用的這條線從蟒蛇如何檢查mplayer是否播放文件?

strace -p " + str(mplayer.pid) + " 2>&1 | head -n 200 | grep 'read(3' 

那是因爲我知道,從文件描述符3讀取文件時,但是,不管我有多少行分析的mplayer使系統調用,沒有一個單一的讀取操作。

+0

您只查看前200行輸出。這還不足以說明應用程序啓動期間完成的所有系統調用(其中有許多很多)。 –

+1

它適合我。什麼'strace -p $ pid -e read'顯示?考慮一種不同的方法。不能保證輸入將會以fd#3結尾,或者MPlayer將使用'read'來讀取它。 –

+0

是的,這有效。事實上,這次它從#4中讀取。 – Vintage

回答

0

我只知道一種可靠的方法來確定MPlayer是否在播放某些東西,也就是將它作爲從機運行並連續讀取其ASCII管道。

media data not foundFailed to openSTARTING PLAYBACK的管道中觀察文本是否發生,以及進程是否已退出(已完成播放)。