- 本文已参与「新人创作礼」活动,一起开启掘金创作之路。 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"一个语义。
&>和>&语义上是没有任何区别的,但是第一中方式是最佳选择,一般使用第一种