差点忘了,所有的文件都放在同一文件夹下,然后把这个文件夹下的文件都得可读可写可执行,比如:这个jar包也得是777的权限,原因是我懒得计较其他的,干脆给最高权限。
1.新建一个文件用来存放运行项目jar包后的日志,我命名为springboot.log
touch springboot.log
2.然后把这个springboot.log文件的权限改成可读可写
chmod 777 springboot.log
3.启动命令
nohup java -jar demo-0.0.2-SNAPSHOT.jar > springboot.log 2>&1 &
4.命令详解
*nohup:不挂断地运行命令,退出帐户之后继续运行相应的进程。
*日志文件名.log:是nohup把command的输出重定向到当前目录的指定的“日志文件名.log”文件中,即输出内容不打印到屏幕上,而是输出到”日志文件名.log”文件中。不指定文件名会在当前目录创建nohup.out,如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。
*2>&1:2就是标准错误,1是标准输出,该命令相当于把标准错误重定向到标准输出么。这里&相当于标准错误等效于标准输出,即把标准错误和标准输出同时输出到指定的“日志文件名.log”文件中。
*java -jar 自己的springboot项目.jar:执行springboot的项目,如果单单只执行该命令,linux只会短暂的运行该项目,当退出控制台后会自动关闭该项目。
*最后的&:让该作业在后台运行。
5.关闭命令
//5000是系统启动访问的端口(这是我的jar包开启的端口,你的可能是8080),从输出数据中可以看到线程对应的 pid:
netstat -nlp|grep 5000[root@ls_vgbucbfa project]# netstat -nlp|grep 5000
tcp6 0 0 :::5000 :::* LISTEN 30029/java
上面这句的pid就是30029
kill -9 30029
//强制停掉 pid 对应线程
6.这是手动关闭,当然还有其他的方法,但是我现在不会。所以就不写了。老铁们,下回见。