java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Java启动jar包命令

Java中启动jar包命令举例详解

作者:ldcaws

这篇文章主要介绍了Java中启动jar包命令的相关资料,文中介绍了在Windows和Linux环境下启动和运行Java程序的方法,包括使用`java -jar`和`javaw`命令启动,以及如何在后台运行程序、重定向输出和错误信息、以及如何停止程序,需要的朋友可以参考下

1、windows环境

在cmd命令窗口,执行java -jar ***.jar即可启动java程序。按下ctrl+c或直接关闭cmd命令窗口,当前程序都会退出。
windows环境下javaw启动命令代表后台运行,关闭cmd命令窗口仍然运行,在任务管理器可以看到相关服务,如

javaw -jar ***.jar

2、linux环境

java程序启动命令,执行java -jar ***.jar即可启动java程序。按下ctrl+c或直接关闭终端,当前程序都会退出。
在命令的结尾添加“&”,“&”表示该程序可以在后台执行,如

java -jar ***.jar &

但是当窗口关闭时,程序也会中止运行,在命令的最前面加上nohup,这样当终端关闭时,程序就会不挂断运行,如

nohup java -jar ***.jar &

当前程序的打印日志会被写入到当前目录的nohup.out文件中,可以修改写入指定的文件中,如

nohup java -jar ***.jar > log.out &

当前程序的打印日志就会被写入当前目录下log.out文件中,当不想写入日志,可以将日志重定向到/dev/null中,/dev/null代表linux的空设备文件,所有往这个文件里面写入的内容都会丢失,如

nohup java -jar ***.jar > /dev/null &

当只输出错误信息到日志,标准输出不写入日志,直接丢弃,如

nohup java -jar ***.jar > /dev/null 2>error.log &

当标准输出重定向到/dev/null中,然后错误信息输出重定向到标准输出,则错误信息也被定向到了/dev/null中,错误输出同样也被丢弃,如

nohup java -jar ***.jar > /dev/null 2>&1 &

当标准输出重定向到log.out中,然后错误信息输出重定向到标准输出,则错误信息也被定向到了log.out中,如

nohup java -jar ***.jar > log.out 2>&1 &

当需要停止java程序时,通过如下命令找到PID,并根据PID终止进程,如下

ps -ef | grep ***.jar
kill -15 PID

3、重定向

在linux中重定向相当的方便,只需要用>或>>符合就可以了,其含义如下

> 是覆盖写入,原来的内容全部清空。
>> 是追加写入,在原来内容末尾追加。

这样就知道输出/错误输出信息分别用数字 1 和 2 代表,反过来看上面的写法就指定重定向的原理了。

java -jar app.jar >log 2>&1 &

这里的, 2>&1 代表把错误输出 2 合并到 1 中,并重定向到名为 log 的文件中去。符号 >& 是一个整体,不可分开,分开后就不是上述含义了。
2>&1 符号必须放到 >log 后面,为什么呢?我们不妨把 1 和 2 都理解是一个指针, 然后来看上面的语句就是这样的:本来 1----->屏幕 (1 指向屏幕),执行>log 后, 1----->log (1 指向 log),执行 2>&1 后, 2----->1 (2 指向 1,而 1 指向 log, 因此 2 也指向了 log)。

总结

到此这篇关于Java中启动jar包命令的文章就介绍到这了,更多相关Java启动jar包命令内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文