我是靠谱客的博主 专一蚂蚁,最近开发中收集的这篇文章主要介绍原 java项目小结_Java部署项目命令学习小结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前言: 暂无html

零:java -h

和不少linux命令同样,咱们第一步先经过“java -h”命令查看java命令的使用语法,其输出以下java

[root@wxapp203 basesoft]# java -h

Usage: java [-options] class [args...]

(to execute a class)

or java [-options] -jar jarfile [args...]

(to execute a jarfile)

where options include:-d32 use a 32-bit data model ifavailable-d64 use a 64-bit data model ifavailable-server to select the "server"VM

The default VM is server,

because you are running on a server-class machine.-cp

-classpath A : separated list of directories, JAR archives,

and ZIP archives to searchforclass files.-D=set a system property-verbose:[class|gc|jni]

enable verbose output-version print product version and exit

有图咱们可知java有两种格式(对应两种功能)的使用方法,linux

功能一:执行一个class文件spring

功能二:执行一个jar文件shell

一:java [-options] -jar jarfile [args...]

可选参数[-options] : 没使用过,但其介绍可猜想 服务器

必选参数 -jar         :指定该命令是运行的是个jar或war文件oracle

必选参数 **jarfile   :指定运行的文件app

可选参数[args.....] :  用过一个就是‘&’指定该jar文件后台挂起,下面介绍。this

备注:可执行spring boot的war包项目spa

二:不指定任何参数运行jar文件

java  -jar  ***jarFile

该使用方式,当退出控制台jar项目也会退出(大多数状况都不实用)

三:经过在***jarFile文件后指定参数“&”

java  -jar  ***jarFile  &

该方式启动jar项目,当退出通知台该jar项目也会一直运行,可解决二的问题(以前我也是这样启动的),但后来发现,即便我退出了控制台,项目里面打印的日志文件会输出到当前控制台(即两个控制台不是一个)。后经分析可知,该命令没有指定该进程的输出流到哪里,默认输出流(和项目里的日志输出不同,即便输出的东西是同样的)是当前控制台。因此要解决该问题就要解决指定该输出流到哪里?故可参考以下命令

四:指定该项目(进程)的输出流

java  -jar  ***jarFile  > ./test.log  &

可选参数:> ./test.log (注意中间空格) 指定进程(项目)的输出了到当前目录下的test.log文件

备注>该参数只指定了标准输出流,并无指定标准错误输出

可选参数:’&’ 后台挂起

五 :标准使用方式

为保险起见咱们也能够把标准错误输出流写到文件中去(也就是说若是上面进程出现错误了,仍是会把错误信息输出到当前控制台的),

java  -jar  ***jarFile  > ./test.log  2>&1 &

备注:2>&1  >2表明标准错误输出流  1表明标准输出流   &是合并的意思。0表明输入流

备注:由于咱们已经在项目中有输出日志(也就是说上面的命令会输出两个同样的日志内容  一个是项目中打印的日志(由你的项目决定),一个就是该命令产生的日志test.log(有服务器系统决定)),为节省资源咱们能够忽略服务器系统打印的日志。故咱们能够使用以下命令

java  -jar  ***jarFile  > /dev/null  2>&1 &

备注:该命令把输出全部输出流输出到文件/dev/null下,该文件是系统设计的,即输入到该文件的东西当即被抛弃不会产生多余资源(便可变相实现不输出的效果)

六:附加   nohup (短语:后台运行)

查看该语法使用   nohup --help

[root@wxapp203 basesoft]# nohup --help

Usage: nohup COMMAND [ARG]...

or: nohup OPTION

Run COMMAND, ignoring hangup signals.--help display this help and exit--version output version information and exit

If standard input is a terminal, redirect it from/dev/null. //标准输入流 重定向到 /dev/null

If standard output is a terminal, append output to `nohup.out'if possible, //即没有指定输出流是,默认追加到当前目录下的nohup.out(无需本身建立)文件中。

`$HOME/nohup.out'otherwise.

If standard error is a terminal, redirect it to standard output. //标准错误输出流,重定向到输出流中,即2>&1

To save output to FILE, use `nohup COMMAND> FILE'. //也能够指定输出流到文件

NOTE: your shell may have its own version of nohup,whichusually supersedes

the version described here. Please refer to your shell's documentation

fordetails about the options it supports.

故:咱们能够使用  nohup  java  -jar  ***jarFile  > /dev/null   & 来替代标准五的使用

例如

$ nohup java-jar fwh_biz-0.0.1-SNAPSHOT.war > /dev/null & //使用命令[2] 10112 //返回进程idnohup: ignoring input and redirecting stderr to stdout //提示咱们 忽略了输入流 而且把标准错误输出流,重定向到输出流中了,而咱们把输出流重定向到/dev/null中,故什么都不会输出

[1] Killed nohup java -jar fwh_biz-0.0.1-SNAPSHOT.war

备注:这样看来nohup的功能就是包装(从效果上看它包装了流的走向和一个提示功能)了咱们以前的命令.

最后

以上就是专一蚂蚁为你收集整理的原 java项目小结_Java部署项目命令学习小结的全部内容,希望文章能够帮你解决原 java项目小结_Java部署项目命令学习小结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部