Linux和Windows下Jar包后台运行

Linux和Windows下Jar包后台运行

Scroll Down

lmk2

1.Linux

方式一

java -jar shareniu.jar

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

那如何让窗口不锁定?

方式二

java -jar shareniu.jar &

&代表在后台运行。

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

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

方式三

nohup java -jar shareniu.jar &

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

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

方式四

nohup java -jar xxx.jar >logs.txt &

可通过jobs命令查看后台运行任务

jobs

那么就会列出所有后台执行的作业,并且每个作业前面都有个编号。
如果想将某个作业调回前台控制,只需要 fg + 编号即可。

fg 1

还可以使用下面的命令查看某端口占用的线程的pid

netstat -nlp |grep :8080

2.Windows

下面演示的是,Windows下开启自动启动并在后台运行jar包
1.新建一个text文件,将

java -jar D:\xxx.jar

写入,修改文件为.bat文件。
2.编写run.vbs文件,新建一个run.text文件,将下面代码写入,然后将文件后缀改为.vbs

Set ws = CreateObject("Wscript.Shell") 
ws.run "cmd /c D:\run.bat",vbhide

3.将run.vbs新建一个快捷方式放到自启动目录下

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup

4.重新启动即可