# Linux下启动Java服务 **Repository Path**: fpfgitmy_admin/linux-start-java ## Basic Information - **Project Name**: Linux下启动Java服务 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-04-28 - **Last Updated**: 2021-05-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #### Linux下启动Java服务 ##### jar包启动 1. 直接启动jar包 `java -jar XXX.jar` + 缺点:当前ssh窗口会被锁定,不能再操作其他命令,如果需要执行其他命令,则需要打断进程,可按CTRL + C打断程序运行,或直接关闭窗口,程序也会退出。 2. 后台启动jar包 `java -jar XXX.jar &` + &代表在后台运行 + 缺点:当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行 3. 后台不挂断启动 `nohup java -jar XXX.jar &` + 用 nohub 命令启动 jar 包,是在后台不挂断运行,关闭终端窗口或者 CTRL + C 命令也不会终止程序 + 当用 nohub命令启动 jar 包的时候,如果不指定日志输出文件,则所有的输出都会被重定向到 nohub.out 的文件中 4. 指定日志输出的启动 `nohup java -jar XXX.jar >log.out &` + 通过 >log.out 命令,将程序的日志输出重定向到 log.out 文件中。如果不指定日志输出文件,则会输出到 nohub 命令默认的输出文件,nohub.out 文件中。 5. 指定配置文件启动 `nohup java -jar XXX.jar --spring.profiles.active=pro >log.out &` + 通过 --spring profiles.active=pro 来指定,启动的的是application-pro.yml 或者 application-pro.properties 配置文件。 6. 指定配置文件,使用系统默认的log配置,不另行指定日志输入 `nohup java -jar /opt/a/a.jar --spring.profiles.active=pro >/dev/null 2>&1 &` + 常见的文件描述符有如下: + 0 :stdin(标准输入) + 1 :stdout(标准输出) + 2 :stderr(标准错误) + `2> /dev/null` + > 代表重定向操作。将标准错误重定向到/dev/null ,即不输出错误信息。 + >/dev/null 2>&1 & : 等同于 1>/dev/null 2>&1 &, 即把标准输出重定向到/dev/null,并且把标准错误2重定向标准输出1,即标准输出和标准错误都输出到 /dev/null。 7. 指定分配系统资源大小 + `nohup java -Xms500m -Xmx500m -jar XXX.jar --spring.profiles.active=dev >log.out &` 8. 指定端口号启动服务 + `java -jar xxx.jar --server.port=8085`