红联Linux门户
Linux帮助

Centos下程序自动加载与手动加载有啥差别?

发布时间:2012-10-10 18:08:08来源:红联作者:
系统是centos 5.5, 我有个程序想在centos启动时自动运行,将如下信息添加到了/etc/rc.d/rc.local

echo start ntripcaster
./home/walt/exec/ntripcaster &
echo start ntripserver
./home/walt/exec/ntripserver &
echo start wd_server
./home/walt/exec/wd_server &

程序可以运行起来,但启动时报错如下。
[2012/10/10-17:10:42] caster output: <127.0.0.1:81>(NEXT1), mode = ntrip1
[2012/10/10-17:10:42] WARNING: can't connect output to <127.0.0.1:81>.
[2012/10/10-17:10:42] close input device: successful
[2012/10/10-17:10:42] close tcp socket: successful

貌似程序启动时无法打开本地81端口,然后就关闭了tcp socket。如果我等系统正常启动后再手动执行程序,就没有这个错误,这是为什么?高手指点一下
文章评论

共有 5 条评论

  1. zphcd 于 2012-11-11 20:07:21发表:

    你将这个加载到 rc.local 的最后一行。比如

    /sbin/ifconfig eth0 down
    /sbin/ifconfig eth0 hw ether 000000000101
    /sbin/ifconfig eth0 192.168.0.101
    /sbin/ifconfig eth0 up


    ./home/walt/exec/ntripcaster &

  2. alick 于 2012-10-19 16:14:10发表:

    引用:
    我觉得好像rc.local执行到这个语句时,tcp/ip服务还没完成启动
    的确很可能

    引用:
    另外哪位达人赏个邀请码啊,注册个论坛用户都注册不了!
    论坛注册需要邀请码了?是在这里注册的吗?//m.ajphoenix.com/bbs/index.php

  3. 于 2012-10-12 10:23:46发表:

    /home/walt/exec/ntripcaster 这个本身就是绝对路径,前面那个点我去了再试也一样。
    有一点怀疑不知道对不对,我觉得好像rc.local执行到这个语句时,tcp/ip服务还没完成启动,所以才导致程序关闭了输入设备和socket端口。
    [2012/10/10-17:10:42] caster output: <127.0.0.1:81>(NEXT1), mode = ntrip1
    [2012/10/10-17:10:42] WARNING: can't connect output to <127.0.0.1:81>.
    [2012/10/10-17:10:42] close input device: successful
    [2012/10/10-17:10:42] close tcp socket: successful

    另外哪位达人赏个邀请码啊,注册个论坛用户都注册不了!

  4. alick 于 2012-10-11 19:06:01发表:

    ./home/walt/exec/ntripcaster

    这里最前面的点很诡异啊,保险起见应该用绝对路径啊。

    考虑让服务程序多输出些错误信息以定位问题

  5. 于 2012-10-11 09:13:56发表:

    是我描述的不清楚吗? QQ:26739296,哪位好心人帮帮忙咯,感激不尽!