Java jar包守护进程及运行几种方式,以及服务形式运行

方式一:

java -jar shareniu.jar

特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出
那如何让窗口不锁定?

方式二:

java -jar shareniu.jar &

&代表在后台运行。

特定:当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。

继续改进,如何让窗口关闭时,程序仍然运行?

方式三:

nohup java -jar shareniu.jar &

nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行

当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件。

方式四:

nohup java -jar shareniu.jar >temp.txt &

方式五:

nohup java -jar hxopen-prod-1.1.jar >> log-server-$(date +%Y-%m-%d).log 2>&1

command >out.file是将command的输出重定向到out.file文件,即输出内容不打印到屏幕上,而是输出到out.file文件中。

Jar开机自启

[Unit]
Description=paysign
After=network.target
Wants=network.target

[Service]
Type=simple
ExecStart=/usr/java/jdk1.8.0_131/bin/java -server -jar -Dlogging.file.path=/data/javaservice/logs /data/javaservice/SignWeb2.0-1.0.jar
ExecStop=/bin/kill -s QUIT
Restart=always
StandOutput=syslog

StandError=inherit

[Install]
WantedBy=multi-user.target

保存

vim /etc/systemd/system/paysign.service

# 重新加载配置文件
systemctl daemon-reload

# 启动服务
systemctl start paysign

# 开机启动
systemctl enable paysign.service

发表评论