免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1475 | 回复: 2
打印 上一主题 下一主题

[系统管理] 请教在linux上软件自启动问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2017-09-04 10:34 |只看该作者 |倒序浏览
请教各位大侠,我用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,很多东西不太熟悉,请各位不吝指教

论坛徽章:
0
2 [报告]
发表于 2017-09-05 09:17 |只看该作者
请教啦,各位走过路过帮忙看看啦

论坛徽章:
0
3 [报告]
发表于 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中,且主程序直接调用。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP