2017-05-04 26 views
1

我有一個頁面流mjpegs。我使用ffmpeg來生成mjpegs,並且它使用了足夠的CPU,我希望只有當某人正在查看頁面時才能運行它。我的想法是用exec()開始它,但是當我離開頁面時它會繼續運行,如果我然後返回頁面,它會啓動多個實例。php開始的過程,當查看器離開頁面時結束

當某個人不在頁面上時,有沒有辦法殺死進程?我唯一的想法是使用ajax向服務器上的另一個程序發送一個保持活躍的信號,如果信號沒有被接收> 10秒,將會終止進程,但是似乎必須有一個不太複雜的方法來做到這一點。

回答

1

當用戶離開頁面時,沒有辦法從PHP知道,除非你從JavaScript發出另一個請求,你的ajax請求的方法是一個好主意。當用戶卸載頁面以終止進程時,您還可以使用javascript事件onbeforeunload發出請求。

+0

記住,如果用戶關閉了JavaScript,JavaScript可能總是失敗並且不會執行,或者根本無法執行。 –

+0

所以如果我開始和停止流的JavaScript將處理與沒有啓用它的人...然後我只需擔心他們的瀏覽器完全崩潰,我想。 – jeffpkamp

+0

我意識到,如果有多人在看,然後一個人離開,那麼殺死每個人的飼料......任何想法都可以解決這個問題? – jeffpkamp

相關問題