2014-04-05 20 views
0

我想創建一個在Linux(守護進程)中的後臺運行的應用程序,它基本上會在設定的時間(5次)播放音樂文件或任何一天發出的聲音。我希望這個守護進程在計算機以終端模式(非GUI)啓動時啓動。我想知道這是否可行,如果是這樣的話,那麼考慮什麼,工具和編程語言會是最有效的呢?這將是一個專門的計算機,只會執行此任務,所以如果有關如何最大限度地提高效率的任何建議,同時禁用此任務不需要的其他功能,我們將不勝感激。另外,您能否解釋流程和任務在終端(非GUI)中的工作方式?我一直認爲終端在Windows中是類似CMD的,並且一次只能運行一個任務。如何創建一個在後臺運行並且在Linux中交互的應用程序?

編輯:我需要聲音在可變時間運行,我會從網站獲取這些時間。有關如何實現這一目標的任何建議?

感謝您對問題或我的研究中的任何缺點的幫助和抱歉。

回答

0

看看使用cron來運行你的任務。 cron是內置於大多數Linux發行版中的非常靈活的調度實用程序。

基本上,你可以指定一個任務來運行(你的主程序,或者可能只是一個聲音播放程序),它的所有參數以及它的運行時間。 cron負責運行它,如果作業產生任何輸出(例如錯誤),它甚至會向您發送「郵件」。

+0

我需要聲音在可變時間運行,我將從網站獲取這些時間。 Chron能做到這一點嗎? – 10100111001

0

可以使流程叉到你的終端的子進程,即你可以在同一時間通過把一個&終端命令後運行多個任務:

> cmd& 
> [you can type other commands here but the "cmd" program is still running] 

然而,對於服務,您通常不必擔心將其作爲子進程啓動,因爲系統已經知道要這樣做。這裏有一個a good question from Super User,它有一個工作服務的例子。只需將您的服務作爲外殼腳本放置在/etc/init.d中,它將作爲服務自動啓動。

+0

我編輯了我的問題。我需要聲音在不同的時間運行,我會從網站上獲取這些時間。我能通過創建一個簡單的腳本來做到這一點嗎?此外,我沒有看到你的答案中的任何鏈接。 – 10100111001

+0

@ Tech1337添加了鏈接。服務總是在後臺運行,所以你只需要有一個輪詢功能,每隔x秒查看一次網站,然後相應地播放聲音。 Cron通常用於按設定的時間表運行的程序,然後在任務完成後停止執行,並且不適合您的情況。 –

相關問題