我想创建一个在Linux(守护程序)后台运行的应用程序,基本上在设定的时间(5次)播放音乐文件或每天发出的任何声音。我希望在终端模式(非GUI)中启动计算机时启动此守护程序。我想知道这是否可能,如果可行,那么哪些考虑因素,工具和编程语言最有效?这将是一台只执行此任务的专用计算机,因此,如果有任何关于如何在禁用此任务不需要的其他功能的同时最大限度提高效率的建议,我们将不胜感激。另外,您能解释一下进程和任务在终端(非GUI)中的工作原理吗?我一直认为终端类似于Windows中的CMD,并且一次只能运行一个任务。
编辑:我需要声音在不同的时间运行,我将从网站上获取这些时间。有关如何实现这一目标的任何建议吗?
感谢您的帮助,并对问题或我的研究中的任何缺点感到抱歉。
答案 0 :(得分:0)
使用cron
来运行您的任务。 cron
是一个非常灵活的调度实用程序,内置于大多数Linux发行版中。
基本上,使用cron
指定要运行的任务(您的主程序,或者可能只是一个声音播放程序),所有参数以及运行时。 cron
负责管理它,甚至会发送给你" mail"如果作业产生任何输出(例如错误)。
答案 1 :(得分:0)
您可以将进程fork转换为终端的子进程,即通过在终端命令之后放置&
,您可以一次运行多个任务:
> cmd&
> [you can type other commands here but the "cmd" program is still running]
但是,对于服务,您通常不必担心将其作为子进程启动,因为系统已经知道这样做。这里的a good question from Super User有一个工作服务的例子。只需将您的服务作为shell脚本放在/etc/init.d
中,它就会自动作为服务启动。