最近使用java 程序打包jar包后,以服务运行在ubuntu系统上。程序中使用了log4j创建日志文件、并需要创建sqlite数据库文件。折腾了一番,记录备忘。
1.以服务方式启动java。
ubuntu在16.10以后改为使用systemd进行开机自启动管理,故这里采用systemd。
步骤1. 将文件夹(内含***.sh,***.jar),放在usr/local/下
sh文件内容:
#!/bin/sh
sudo /usr/lib/jdk/jdk1.8.0_171/bin/java -jar /usr/local/**/**.jar
exit 0
为sh文件授权:
$ sudo chmod u+x /usr/local/***/**.sh
步骤2. 创建 *.service,放在etc/systemd/system文件夹下(注意:修改工作目录)
[Unit]
Description= *** Service
[Service]
User=root #一般用root,也可以不要这句
#调用jar文件的shell执行文件
ExecStart=/usr/local/***/***.sh
PrivateTmp=true
SuccessExitStatus=143
TimeoutStopSec=10
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
步骤3. 启动服务
// 重新加载服务
$ sudo