- 论坛徽章:
- 1
|
下面这几行是我添加到/etc/rc.local的
#Start SSH server
service sshd start
#Start config server
/usr/local/sbin/config_server
##start admin server
/usr/local/apache/bin/apachectl startssl
其中sshd是系统自带的,/usr/local/下面的APCHE是下载官方代码编译的
那个config_server是我自己写的daemon程序
系统启动后,sshd和apache都正常启动了,但是我自己写的daemon程序没起来
我从SSH或键盘登录系统,手工输入/usr/local/sbin/config_server就能正常启动这个程序
后来我修改了/etc/rc.local
#Start config server
sleep 2
/usr/local/sbin/config_server
就比原先多了个sleep 2,现在重启系统,这个程序正常启动了
我在程序中出错位置bind(socket, &addr, &len);后perror(NULL);
在启动过程中出现错误信息: Cannot assign requested address
加了sleep 2之后,错误消失,程序启动正常
初步推测,应该是bind()系统调用发生的时候系统还没有所需的IP地址,
可是我在这个程序启动之前在/etc/rc.local插入ifconfig eth0
启动显示这个所需地址已经加载,但还是出错(如果没有sleep 2)
应该是我的程序的问题,因为SSHD和APACHE都在/etc/rc.local中正确启动
究竟错在什么地方? |
|