Centos7系统下运行jar包程序:
方式一:
java -jar x.jar
当前ssh窗口被锁定,可以直接按ctrl+c键终止程序运行,或者直接关闭窗口,程序退出。(一般不使用这种方式运行程序)
方式二:
&代表在后台运行该程序,所以不存在方式一所说的窗口锁定问题,但是当你关闭窗口的时候,程序依然退出。(不推荐使用)
java -jar x.jar &
方式三:
nohup的意思是:不挂断运行的命令,当终端关闭时,程序依然运行。当使用该命令时,该程序的输出默认会被重定向到nohup.out的文件中
nohup java -jar a.jar
方式四:
> 表示输出重定向
2 指标准错误输出,1指标准输出
标准输入(stdin):默认指向键盘的输入,可以通过标准输入重定向让标准输入指向文件输入
标准输出(stdout) :指命令产生的正常的输出,如echo aaa,标准输出默认指向终端显示器,可以通过输出重定向让标准输出重定向到文件
标准错误输出(stderr):指命令产生的错误信息的输出,如执行了不存在的命令t,标准错误输出也默认指向终端显示器,同样可以通过输出重定向,让标准错误输出重定向到文件
&1标识标准输出的引用,2>&1是指把标准错误输出重定向到标准输出的引用
&标识该命令以后台的job形式运行
> log.file 是将输出重定向到log.file文件中,也就是输出的内容不会打印到屏幕上,而是直接到文件中。
nohup java -jar a.jar > log.file 2>&1 &
可以通过job命令查看后台运行的命令,如果想把某个程序调回前台控制,可以用fg 编号即可