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

本文描述了在BusyBox环境下,如何解决特定后台进程被意外终止的问题,并提供了具体的解决方案,包括修改inittab配置。

 遇到这个问题,百度之后,发现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然后重新启动一个,所以后台调用的程序无法执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值