2017-08-12 90 views
0

我遇到问题。 lsb_release -a结果在服务器启动时运行应用程序

没有LSB模块可用。
经销商ID:Ubuntu的
说明:Ubuntu的17.04
发行:17.04代号:灿烂

,这我自动启动脚本:启动应用

#!/bin/bash 
### BEGIN INIT INFO 
# Provides:   data exchange 
# Required-Start: $all 
# Required-Stop: 
# Default-Start:  2 3 4 5 
# Default-Stop: 
# Short-Description: Start data exchange service... 
### END INIT INFO 
echo 'after reboot' > /home/forte/test.txt 
java -cp /home/forte/apps/data-exchange-service-1.0.jar org.springframework.boot.loader.JarLauncher & 
exit 0 

创建后,我给EXCUTE许可

chmod +x start-app 

然后我将这个脚本移动到/etc/init.d并执行

update-rc.d start-app defaults 
update-rc.d start-app enable 

我检查RC * .D文件夹,我的脚本链接下的[2,3,4,5]

存在但是,当我重新启动服务器时,它不会运行我的应用程序。

我也试过的crontab

@reboot /home/forte/apps/start-app 

但他们没有不起作用 有没有其他办法?

额外注 当我执行

/etc/init.d/start-app start 

我的应用程序工作正常

+0

你看到你的/home/forte/test.txt什么?你在/etc/init.d中看到任何其他文件吗?我不确定,但是Ubuntu 17可能使用systemd,它具有启动系统服务的不同机制。 – nimrodm

+0

我检查过但重启后没有创建 – sakit

回答

0

,你可以创建一个systemd单元,是几乎相同的是init.d中,但由于Ubuntu使用systemd作为初始化这可能会更有帮助。

这里是一些关于systemd单元的信息的链接。

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/sect-Managing_Services_with_systemd-Unit_Files.html

希望它能帮助,

+0

感谢您的额外链接。我遵循它并创建systemd单位。我启用了服务,但重启后服务不会自动启动。但是当我运行'systemctl start my.service'时,它正常工作 – sakit

+0

也许'journalctl -xe'可以给你一些额外的信息,为什么会发生这种情况,希望它有帮助 –

+0

我检查过但没有帮助。我尝试了很多方法。直接执行脚本或只执行.sh文件,但在重新启动服务器时不起作用。每种方式我都有不同的错误。例如,当我重新启动后直接运行我的Java应用程序(execstart)时,它给主类找不到,但是当我运行manualy它通常worls。而当我重新启动后尝试.sh文件时,我得到了chroot错误 – sakit

相关问题