**1.**当项目开发完成后,可以通过idea 将项目打包成jar包或者war包,两者的区别:jar包可以通过 命令直接运行,而war需要在服务器端 开启tomcat.
**2.**将jar包传到服务器后,我们可以通过命令 java - jar jar的路径 ,来运行我们的springboot项目,但是在这种命令下,使用crtl+c会退出项目的运行,或者直接关闭连接窗口,项目也会停止运行。
所以这个时候,我们需要使用另外一个nohup 命令,nohup 英文全称 no hang up(不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。nohup 命令,在默认情况下(非重定向时),会输出一个名叫 nohup.out 的文件到当前目录下,如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。
命令如下:nohup java -jar -Dfile.encoding=utf-8 /usr/local/demo.jar &
,当屏幕中出现# nohup: ignoring input and appending output to ‘nohup.out’
且没有报错信息时,即项目已经成功运行了,在当前jar包的所在的同级目录中,会出现一个nohuup.out文件,该文件中记录项目的输出信息。
**3.**当我们需要指定输出信息位置的时候,可以采用以下命令:nohup java -jar -Dfile.encoding=utf-8 /usr/local/demo.jar >> /usr/local/log/runoob.log 2>&1 &
,Linux下还有一个特殊的文件/dev/null,如果我们不需要查看输出日志信息的话,可以将输出信息的位置指定的这个地方,这样也可以防止程序运行的时间长了之后,造成文件日志文件越来越大。命令如下: nohup java -jar -Dfile.encoding=utf-8 /usr/local/demo.jar >> /dev/null 2>&1 &
。
当项目已经运行,我们有两个可以不用停止WEB服务就可以清空nohup.out的命令。
// 第一种 :/dev/nul把它丢弃一切写入其中的数据 意思就是把空的复制粘贴 给nohup.out cp /dev/null nohup.out // 第二种: 把无底洞定向输出到 nohup.out 起到清空作用 cat /dev/null > nohup.out
**4.**通过jobs -l 命令,我们可以查看正在后台中运行的工作进程信息.
**5.**通过kill -9 对应任务的进程号,这个命令可以中止正在后台运行的程序。