关于linux启动springboot项目时候的命令

本文详细解析了Linux环境下&与nohup命令的区别与应用场景。阐述了&使进程在后台运行,但对SIGHUP信号不免疫;而nohup则使进程忽略SIGHUP信号,结合使用可实现更稳定的后台任务。
&的意思是在后台运行, 什么意思呢?  意思是说, 当你在执行 ./a.out & 的时候, 即使你用ctrl C,  那么a.out照样运行(因为对SIGINT信号免疫)。 但是要注意, 如果你直接关掉shell后, 那么, a.out进程同样消失。 可见, &的后台并不硬(因为对SIGHUP信号不免疫)。

  nohup的意思是忽略SIGHUP信号, 所以当运行nohup ./a.out的时候, 关闭shell, 那么a.out进程还是存在的(对SIGHUP信号免疫)。 但是, 要注意, 如果你直接在shell中用Ctrl C, 那么, a.out进程也是会消失的(因为对SIGINT信号不免疫)


  所以, &和nohup没有半毛钱的关系, 要让进程真正不受shell中Ctrl C和shell关闭的影响, 那该怎么办呢? 那就用nohua ./a.out &吧, 两全其美。

总结:如果你不关闭shell的话,那么结尾加上&就OK了,程序会一直运行(即使ctrl+c),但是当你关闭shell的话,程序会停掉,所以你要加上nohup。所以如果既想在shell里面ctrl+c 不让程序停掉也想在关闭shell后不让程序停掉,就两个都加上。

### 如何在 Linux 系统中启动 Spring Boot 应用程序 在 Linux 系统中启动 Spring Boot 应用程序可以通过多种方式实现,包括直接运行 JAR 文件、配置为系统服务以及使用管理工具进行监控控制。以下是具体方法: #### 1. 直接运行 Spring Boot 应用程序 可以直接通过命令行运行 Spring Boot 应用程序的 JAR 文件。确保已经安装了 Java 环境,并将 JAR 文件放置在目标目录下: ```bash java -jar your-spring-boot-app.jar ``` 这种方式适合简单的测试或开发环境,但不适合生产环境,因为进程无法在后台持续运行[^4]。 #### 2. 配置为系统服务 为了使 Spring Boot 应用程序在 Linux 系统中作为服务运行并支持开机自启动,可以按照以下步骤操作: - **创建 systemd 服务文件** 在 `/etc/systemd/system/` 目录下创建一个 `.service` 文件,例如 `your-spring-boot-app.service`: ```ini [Unit] Description=Your Spring Boot Application After=network.target [Service] User=your-user WorkingDirectory=/path/to/your/app ExecStart=/usr/bin/java -jar /path/to/your/your-spring-boot-app.jar SuccessExitStatus=143 Restart=on-failure RestartSec=10 [Install] WantedBy=multi-user.target ``` 上述配置中,`User` 是运行应用的用户,`WorkingDirectory` 是应用的工作目录,`ExecStart` 是启动命令[^1]。 - **重新加载 systemd 配置** 执行以下命令以重新加载 systemd 配置: ```bash sudo systemctl daemon-reload ``` - **启动管理服务** 使用以下命令启动、停止、重启或检查状态: ```bash sudo systemctl start your-spring-boot-app.service sudo systemctl stop your-spring-boot-app.service sudo systemctl restart your-spring-boot-app.service sudo systemctl status your-spring-boot-app.service ``` 若要查看实时日志,可以执行: ```bash sudo journalctl -u your-spring-boot-app.service -f ``` 这种方式适用于生产环境,能够确保应用在后台稳定运行并支持自动重启[^2]。 #### 3. 使用 Spring Boot Admin Actuator 进行管理监控 对于需要更高级管理监控功能的场景,可以结合 Spring Boot Admin Actuator 工具。Spring Boot Actuator 提供了丰富的监控端点,而 Spring Boot Admin 则提供了图形化界面来集中管理多个 Spring Boot 应用程序[^3]。 - **启用 Actuator** 在 `pom.xml` 中添加依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> ``` 启用后可以通过 HTTP 接口访问监控信息,例如 `/actuator/health` 或 `/actuator/info`。 - **集成 Spring Boot Admin** 在主应用程序中引入 Spring Boot Admin 客户端依赖,并配置服务器地址以连接到管理平台。 通过上述方法,可以在 Linux 系统中灵活地启动管理 Spring Boot 应用程序。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值