我需要在Centos(5.9)启动时启动Java应用程序。在CentOS上启动时启动Java应用程序
我试图启动一个简单的脚本(名为 “lanzar.sh”)在CentOS在启动时:
#!/bin/sh
cd /home/someuser/Desktop/Dist
java -jar SomeApp.jar
我追加行“/ bin/sh的/家庭/ SomeUser的/桌面/距离/ lanzar.sh“到/etc/rc.d/rc.local。但是Java应用程序无法启动。我有:
- 授予755个权限到/etc/rc.d/rc.local文件中
- 写 “lanzar.sh” 到/etc/rc.d/rc.local文件的内容。用分号隔开,并用不同的行。
- 更改位置的“lanzar.sh”。
- 其他事情,取自其他线程,不适合我。
我rc.loca样子:
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
#
#Some comment
#Some comment
#Some comment
touch /var/lock/subsys/local
/bin/sh /home/fernando/Desktop/Dist/lanzar.sh
注:我知道类似的问题已经被问过,但在测试很多,我用没有成功谷歌上搜索发现问题的答案后,我有自己问这个。
那个java应用程序做什么?它是否需要访问某些用户数据?它需要X服务器吗?它是否依赖于要设置的特定环境变量?当您尝试此操作时,应用程序是否记录任何错误消息?如果在该脚本中添加一些回显行(对日志文件),日志文件是否会写入? –
通过你的消化,我在其他命令之前添加了一行-echo“Some log”>/var/log/mylog-。日志没有生成。所以我认为问题是rc.local根本没有被执行。我必须说,在问题开始发生之前,我替换了原始文件,但后来运行了-chmod 755 /etc/rc.d/rc.local- – Ferite
将log命令放入rc.local中,看看会发生什么。请记住,rc.local并未作为用户运行,因此可能有权或无权访问用户主目录/ etc中的文件。 –