下面是我们启动 Spring Boot 服务常用的命令:
nohup java -Xms1g -Xmx1g -Xss1024K -XX:MetaspaceSize
=128m -XX:MaxMetaspaceSize
=512m -server -jar -Dfile.encoding
=utf-8 ./spring-boot-demo-0.0.1-SNAPSHOT.jar --spring.profiles.active
=test
>/dev/null 2
>&1
&
说明
nohup 就是no hangup,不要挂断,后台运行,关闭终端,当前运行的进程不终止,标准输出内容会输出到当前目录的 nohup.out 日志文件中而不终端显示;/dev/null 是 Linux 一个空设备文件,通常也被称为位桶(bit bucket)或黑洞,这个文件接收到任何数据都会被丢弃;Linux系统预留可三个文件描述符:0、1 和 2,他们的意义如下所示: 0 - 标准输入(stdin) 1 - 标准输出(stdout) 2 - 标准错误(stderr)重定向的符号有两个:> 或 >>,> 会先清空文件,然后再写入内容,>> 会将重定向的内容追加到现有文件的尾部;命令最后一个 &,表示后台运行的意思,和 nohup 配置表示不挂断后台运行;
举例
2>/dev/null 把错误输出到“黑洞”(丢弃输出);>/dev/null 2>&1 默认情况是1,也就是等同于 1>/dev/null 2>&1。意思就是把标准输出重定向到“黑洞”,还把错误输出2重定向到标准输出1,也就是标准输出和错误输出都进了“黑洞”;2>&1 >/dev/null 把错误输出2重定向到标准出书1,也就是屏幕,标准输出进了“黑洞”,也就是标准输出进了黑洞,错误输出打印到屏幕;&>/dev/null linux中的文件号,1 是标准输出流,2 是错误输出流,此处 &> 的意思是合并标准输出和错误输出并重定向,即重定向到空设备;注意,& 和重定向符号(>)放到一起说,中间没有空格;
我们对整条命令有了清晰的认识,也就可以根据自己的情况灵活运用。
【完】