免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2946 | 回复: 1
打印 上一主题 下一主题

自己编写的守护进程开机不能启动 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-08 19:43 |只看该作者 |倒序浏览
OK,我知道这是一个很古老的话题,请在您鄙视之前给我一个描述问题的机会。我google+百度N久,都没有找到我所碰到的问题的答案,实在搞不懂错在哪里
【要实现的目标】一个开机自动启动并后台运行的程序,该程序每隔几秒钟想某个日志里打印一句话。
【我遇到的问题】开机该程序不能自动启动。但在控制终端上可以手动启动,启动之后能正常运行。
【我的实现】(1)该程序如下:
int main(void)
{
        int i = 0;

        my_print("enter main!\n");
        daemonize();
        while(1)
        {
                my_print("%04d: test\n",i);
                i++;
                sleep(5);
        }
}
其中my_print是自己写的一个写日志函数,原型:int my_print(const char *fmt,...);  该函数将输入的打印信息写到/home/test/info.log  该函数确定正确,并且函数中没有调用过exit。
daemonize函数抄写的APUE上的(但不包括最后可选的syslog部分),确定正确。
程序编译生成的可执行文件名为:dmtest
(2)自己写了一个安装脚本和一个启动脚本
启动脚本(名字为dmboot)内容如下:
#!bin/bash
test -x `which dmtest` || exit 1
killall dmtest> /dev/null 2>&1
dmtest
echo "dmboot start" > /home/test/dmboot.txt
exit 0
安装脚本内容如下:
#!bin/bash
cp -f ./dmtest /usr/bin/
cp -f ./dmboot /etc/init.d
rm -f /etc/rc2.d/S99dmboot
rm -f /etc/rc3.d/S99dmboot
rm -f /etc/rc4.d/S99dmboot
rm -f /etc/rc5.d/S99dmboot
ln -s /etc/init.d/dmboot /etc/rc2.d/S99dmboot>/dev/null 2>&1
ln -s /etc/init.d/dmboot /etc/rc3.d/S99dmboot>/dev/null 2>&1
ln -s /etc/init.d/dmboot /etc/rc4.d/S99dmboot>/dev/null 2>&1
ln -s /etc/init.d/dmboot /etc/rc5.d/S99dmboot>/dev/null 2>&1

【环境描述】
(1)操作系统ubuntu 11.04  内核:2.6.38
(2)/usr/bin/dmtest的属性:-rwxr-xr-x 1 root root ...
/etc/rcX.d/S99dmboot的属性:lrwxrwxrwx 1 root root ...  (其中的rcX.d中的X代表2,3,4,5)
/etc/init.d/dmboot的属性:-rwxr-xr-x 1 root root ...

【现状】我开机后,/home/test/dmboot.txt该文件中有dmboot start字符串,说明dmboot是被运行过的,并且dmboot中的dmtest程序也是被运行过的。
但是/home/test/info.log中没有任何信息,感觉好像dmtest程序从来没有运行过一样。
并且ps aux | grep dmtest之后也看不到dmtest程序中运行。

我实在想不出哪个地方出错了,请大家指点一下。

论坛徽章:
1
射手座
日期:2014-08-04 16:49:43
2 [报告]
发表于 2011-12-12 15:19 |只看该作者
my printf 贴出来,就这烂代码 你放心没人抄你的....


多半问题就出在你这里面......


你单独执行效果怎么样.. i 不要这么用 会溢出.....  想个循环使用方案....

int main 没有返回值.... 不标准
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP