您的位置:首页 > 运维架构 > Linux

linux 启动脚本中无法自动启动后台应用的问题

2013-11-20 08:52 429 查看
遇到这个问题,百度之后,发现csdn有解,感谢carbonink。

1、新:处理器更换为CX92745,Linux version 2.6.32

老:Linux version 2.6.19.2

2、应用程序EthHV在之前平台可在后台正常运行 启动脚本中调用rc.local脚本,执行/test/EthHV &后,该应用正常后台启动

【问题】

1、登陆后,手动执行“/test/EthHV & ”

a、应用正常运行一段后,会卡住不动,按回车后会提示“[1]+ Stopped (tty input) /test/EthHV”在后台暂停,执行fg,EthHV移至前台才可正常继续运行。

b、或者新建脚本,脚本中调用/test/EthHV &,执行脚本,该应用正常在后台执行,不会出现a的问题。

c、或者执行 /test/EthHV < /dev/null & 重定向输入,该应用正常在后台执行,不会出现a的问题。

请问以上是什么情况造成,能有办法让手动运行“/test/EthHV &”后能正常后台执行吗?

2、在/etc/init.d/下新建S98CX,其中加入"/test/EthHV &"或者"/test/EthHV < /dev/null & ",重新启动,该应用未在开机后启动。执行ps,看不到EthHV。

a、如S98CX中修改为"/test/EthHV"可正常运行。

请问如何能让该应用在开机后正常运行于后台。

现在发现是因为busybox的原因,在inittab中,ttyS0::askfirst:/bin/ash --login执行后就会将所有后台kill,在此之前后台应用有执行。怎么木有人知道怎么解决这个事情啊????????

题已解决,inittab中将

ttyS0::sysinit:/etc/init.d/rcS

ttyS0::askfirst:/bin/ash --login

修改为

::sysinit:/etc/init.d/rcS

ttyS0::askfirst:/bin/ash --login

即可

原因如下:

ttyS0::sysinit:/etc/init.d/rcS (其中sysinit表示启动是调用)

之后调用ttyS0::respawn:-/bin/ash

是kill了之前的shell然后重新启动一个,所以后台调用的程序无法执行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: