前言
- 因项目需要在linux服务器上直接启动jar包,所以记录下相关命令
- 启动jar包需要cd到jar包同一目录
启动jar包
- 直接启动:java -jar demo.jar
- ctrl+c或退出终端时程序结束
- 后台启动:java -jar demo.jar &
- 退出终端时程序结束
- nohup启动:nohup java -jar demo.jar &
- 自动生成nohup.out日志,通过命令结束程序
- 指定日志文件:nohup java -jar demo.jar > logs.log &
- 在当前目录生成logs.log日志文件,终端输出内容保存的日志中
- 重定向错误输出:nohup java -jar demo.jar > logs.log 2>&1 &
- 除了标准输出,将错误也输出到指定日志文件中
- 通过服务启动
- 在/etc/systemd/system目录下创建一个xxx.service文件,xxx就是自定义的服务名称,然后写入如下内容
[Unit]
Description=chapter
After=syslog.target
[Service]
ExecStart=/usr/software/jdk1.8.0_221/bin/java -jar /usr/programme/serviceJarTest/demo.jar
[Install]
WantedBy=multi-user.target
内容解释:
[Unit]说明
Description:服务的描述
After:设置在某个服务启动后启动
[Service]服务参数配置
ExecStart服务运行执行的命令
[Install]服务安装的相关设置,可设置为多用户
根据需要,自己修改description和ExecStart的内容即可(ExecStart后面的java命令需要全路径,写java -jar 会启动不了,前一半是jdk地址,后一半是服务jar包地址)
- 启动服务命令:systemctl start 服务名
关闭jar包
- 如果不是后台启动,通过ctrl+c或关闭终端即可
- 如果是后台启动,则通过kill进程的方式结束进程
- 查看进程命令:ps -ef | grep java
- 杀死进程命令:kill -9 进程号
- 如果是服务启动:则通过systemctl stop xxx关闭