1.java-jarXXX.jar
当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出
2.java-jarXXX.jar&
&代表在后台运行。当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。
3.nohupjava-jarXXX.jar&
通过命令行的第一个参数指定一个文件描述符,同时利用shell的重定向功能在该描述符上打开文件,然后用fcntl的f_getfl命令取出file status flag并打印。指定输出日志,正确输出到从定向文件/tmp/123.log,错误的输出定义到/tmp/123.log 如果每天都需要操作记录linux常用命令,利用来追加>>。其中:wq和:x是存盘退出,而:q是直接退出,如果文件已有新的变化,vi会提示你保存文件而:q命令也会失效,这时你可以用:w命令保存文件后再用:q 退出,或用:wq或:x命令退出,如果你不想保存改变后的文件,你就需要用:q。
4.nohupjava-jarXXX.jar>temp.txt&
command >out.file是将command的输出重定向到out.file文件,即输出内容不打印到屏幕上,而是输出到out.file文件中。>temp.txt则是将输出的内容输出到temp.txt文件中
5.刚才布置服务的时候,启动报错,查询了一下资料,看到别人也有说在使用nohup命令布服务的时候,会报 “nohup: ignoring input and redirecting stderr to stdout” 错误,我检查了一下我的项目,是因为我没有把jar包放入linux服务器中,把服务jar包放进来就好了linux常用命令,他们的解决方法是在输出文件的后面加上“2>&1 &”,这里先给大家加上,万一以后这个方法能解决大家的问题呢。完整命令为:nohup java -jar order-manage-service-0.0.1-SNAPSHOT.jar >> (日志存放绝对路径) /idtest.log 2>&1 &