java程序在linux上以服务运行日志文件处理

本文介绍了如何在Ubuntu 16.10及更高版本上将Java程序作为systemd服务运行,包括创建和授权.sh启动脚本,编写.service文件,以及启动和停止服务的命令。当遇到服务无法生成log和DB文件的问题时,通过给予Java执行权限和动态设置文件路径解决了问题。
摘要由CSDN通过智能技术生成

最近使用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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值