Chinaunix

标题: 请教在linux上软件自启动问题 [打印本页]

作者: shajp    时间: 2017-09-04 10:34
标题: 请教在linux上软件自启动问题
请教各位大侠,我用java做了个两类程序,一个是主程序,另一类是子程序(子程序实现与设备通讯,会运行多个,每一个只在细节处有不同),主程序负责启动及看护各个子程序,各个子程序分别在各自的路径下(sub1/start.sh、sub2/start.sh....)。现在我把主程序放到/etc/rc.local中添加一行:“sh /root/mysrv/mainpro/start.sh”,而在主程序中用代码实现调用各个shell命令,调起各个子程序"sh /root/mysrv/sub1(,sub2...subn)/start.sh" 。  现在问题是,如果这样执行,每次系统启动后检查发现,只能调起主程序以及一个子程序,其它子程序都调不起来。
  而如果linux操作系统登录后,把放在/etc/rc.local中“sh /root/mysrv/mainpro/start.sh”这一句直接在命令行执行,是可以调起多个子程序的。


最近才接触linux,很多东西不太熟悉,请各位不吝指教

作者: shajp    时间: 2017-09-05 09:17
请教啦,各位走过路过帮忙看看啦
作者: shajp    时间: 2017-09-05 17:29

本帖最后由 shajp 于 2017-09-05 17:28 编辑


问题已解决,谢谢各位!
在/etc/rc.local中,不再调用“sh /root/mysrv/mainpro/start.sh”而是添加如下代码:
JAVA_HOME=/usr/java/jdk1.8.0_131
PATH=$JAVA_HOME/binPATH
CLASSPATH=.JAVA_HOME/jre/lib/extJAVA_HOME/lib/tools.jar
export PATH JAVA_HOME CLASSPATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64:/usr/lib64/HCNetSDKCom
nohup java -Dfile.encoding=utf-8 -jar /root/mysrv/mainpro/outjar.jar &
复制代码

直接将放在/etc/profile中的全局参数及环境变量放到/etc/rc.local中,且主程序直接调用。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2