如何查看upstart启动的事件是否收到

发布网友 发布时间:2024-10-24 09:01

我来回答

1个回答

热心网友 时间:2024-10-24 11:39

/*********************************************************************
* Author : Samson
* Date : 11/15/2014
* Test platform:
* 3.13.0-24-generic
* GNU bash, 4.3.11(1)-release
* *******************************************************************/
现在LinuxMint采用的系统启动机制是基于ubuntu的upstart的,那么相对应的配置文件的目录为/etc/init,根据upstart的文档中所说,创建一个可以在命令行直接使用initctl emit eventname进行启动一个任务的配置文件,在/etc/init下创建文件mytestup.conf,内容如下:
start on mytestyy
task
exec /bin/date > /tmp/yygydjkthh

意思是说当event为mytestyy时,执行任务 /bin/date命令,把结果写入到/tmp/yygydjkthh文件中。

保存此文件后,要使其生效,可以重新启动系统,或直接在命令行使用更新upstart配置文件的命令:
sudo initctl reload-configuration

再在命令行执行触发事件的命令:
sudo initctl emit mytestyy
即可执行任务:mytestup,查看/tmp/yygydjkthh已经存在,表示执行任务成功;

upstart emit原理:
会先创建所有任务的一个关联表,当检测到有emit event的时候,进行匹配,若事件名一致,则执行相应的任务或服务;

Ref:http://upstart.ubuntu.com/cookbook/#event
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com