service程序源代码路径frameworks/base/cmds/service/service.cpp
int main()
{
// 获得ServiceManager服务的接口sm, 通过这个接口客户获得其他服务信息
sp<IServiceManager> sm = defaultServiceManager();
// 使stdout清空,立刻输出所有在缓冲区中的内容
fflush(stdout);
if (sm == NULL) { //获取ServiceManager服务接口失败, 直接返回
aerr << "service: Unable to get default service manager!" << endl;
return 20;
}
bool wantsUsage = false;// 是否需要显示帮助信息, false不打印帮助信息, true打印帮助信息
int result = 0;
while (1) {
// getopt()函数的原型为getopt(int argc,char *const argv[],const char *optstring)。
// optstring是一段自己规定的选项串,例如本例中的"h?",表示可以有,-h,-?这几个参数。
int ic = getopt(argc, argv, "h?");
if (ic < 0)
break;
switch (ic)