主题 : init.rc里service不执行,可能会是什么原因 复制链接 | 浏览器收藏 | 打印
级别: 侠客
UID: 28876
精华: 0
发帖: 79
金钱: 400 两
威望: 80 点
综合积分: 158 分
注册时间: 2010-09-18
最后登录: 2013-04-14
楼主  发表于: 2012-10-25 09:18

 init.rc里service不执行,可能会是什么原因

比如在init.rc 加了一行
service shtest  /system/bin/shtest
    oneshot

其中,shtest是一个脚本文件,位于/system/bin/目录下,
shtest已经chmod 了777的权限,
而且单独命令执行shtest都可以,
但放在init.rc里就不执行,
可能会是什么原因呢?

为了测试简单化,我甚至在脚本里只放了一条echo的语句,
并且单独执行shtest,该echo都是执行的。
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
1楼  发表于: 2012-10-25 09:33

 回 楼主(ysfanfeng) 的帖子

对init.rc里定义的service来说,标准输入和输出都被重定向到/dev/null,你不能通过简单的echo或者printf之类的测试来确定程序是否执行。你可以通过getprop init.svc.shtest命令来查看这个service的状态。
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 侠客
UID: 28876
精华: 0
发帖: 79
金钱: 400 两
威望: 80 点
综合积分: 158 分
注册时间: 2010-09-18
最后登录: 2013-04-14
2楼  发表于: 2012-10-25 10:05

 回 1楼(kasim) 的帖子

谢谢kasim老大

我的service的状态确实显示stopped,
我再去查找一下stopped的原因。