linux服务器运行jar常用命令

308 阅读2分钟
  • 本文已参与「新人创作礼」活动,一起开启掘金创作之路。 1.java -jar XXX.jar

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

2.java -jar XXX.jar &

&代表在后台运行。当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。

3.nohup java -jar XXX.jar &

nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行。当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件。

4.nohup java -jar XXX.jar >temp.txt &

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

5.布置服务的时候,启动报错,会报 “nohup: ignoring input and redirecting stderr to stdout” 错误,把服务jar包放进来就好了,解决方法是在输出文件的后面加上“2>&1 &”,这里先给大家加上,万一以后这个方法能解决大家的问题呢。完整命令为:nohup java -jar order-manage-service-0.0.1-SNAPSHOT.jar >> ( 日志存放绝对路径) /idtest.log 2>&1 &

nohup 

英文全称 no hang up(不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。

nohup 命令,在默认情况下(非重定向时),会输出一个名叫 nohup.out 的文件到当前目录下,如果当前目录的 nohup.out 文件不可写,输出重定向到  $HOME/nohup.out 文件中。

2>&1 解释:

将标准错误 2 重定向到标准输出 &1 ,标准输出 &1 再被重定向输入到 runoob.log 文件中。

  • 0 – stdin (standard input,标准输入)
  • 1 – stdout (standard output,标准输出)
  • 2 – stderr (standard error,标准错误输出)

">log 2>&1"简写

有以下两种简写方式

1、&>log

2、>&log

上面两种方式都和">log 2>&1"一个语义。

&>和>&语义上是没有任何区别的,但是第一中方式是最佳选择,一般使用第一种