linux 后台启动程序,不占用控制台例子

Nohup 运行 Java 应用
本文介绍如何使用 nohup 命令后台运行 Java 应用程序,并将输出重定向到 /dev/null,实现静默运行。

nohup java -jar target/eureka-0.0.1-SNAPSHOT.jar > /dev/null 2>&1 &

### 嵌入式系统 Linux 启动流程详解 嵌入式系统的 Linux 启动流程可以分为多个阶段,这些阶段涵盖了硬件初始化到最终用户空间应用程序的运行。以下是详细的启动流程解析: #### 1. **BootROM 阶段** 在嵌入片上系统 (SoC) 中,当设备通电时,CPU 的第一条指令通常是从内部 BootROM 开始执行。此阶段的主要任务是初始化最基本的硬件资源,例如内存控制器和串口等外设,并加载引导加载程序的第一阶段代码。 这一阶段的功能由芯片厂商提供,开发者一般无需修改这部分逻辑[^3]。 --- #### 2. **第一阶段引导加载程序(Stage 1 Bootloader)** 该阶段的任务主要是初始化 CPU 和必要的外围设备,以便能够访问外部存储器中的固件镜像文件。由于此时可用资源有限,因此这段代码通常是用汇编语言编写以实现最小化占用的空间需求。 具体操作可能包括设置栈指针、配置 SDRAM 控制寄存器以及跳转至更复杂的 C 编写部分继续后续工作流[^1]。 --- #### 3. **第二阶段引导加载程序(U-Boot 或其他 Bootloaders)** 这是整个启动过程中至关重要的一步,在这里我们主要讨论 U-Boot 这种广泛使用的开源解决方案。它负责完成更多高级别的准备工作,比如进一步完善 DRAM 初始化状态;检测 NAND/NOR Flash 存储介质上的根文件系统位置;通过网络协议下载额外组件等等。 U-Boot 提供了一个交互式的命令环境允许调试人员干预正常进程或者自定义特定行为模式来适应同应用场景下的特殊要求。 ```bash # 示例:U-Boot 加载内核并传递参数给 kernel => bootcmd=run distro_bootcmd => setenv bootargs console=ttyS0,115200 root=/dev/mmcblk0p2 rw earlyprintk ``` 上述脚本展示了如何利用 `bootargs` 设置控制台输出端口及指定挂载点作为初始 RAM 文件系统的位置信息[^4]。 --- #### 4. **内核解压与启动** 一旦引导加载程序完成了它的使命并将控制权移交给位于某地址处等待被执行的操作系统核心映象之后,则标志着进入了真正的 OS 层面处理环节——即所谓的 “Kernel Entry Point”。 在这个时刻发生的事情主要包括但限于以下几个方面: - 解压缩已打包好的 elf 格式可执行体; - 构建中断向量表结构布局; - 执行架构依赖型子例行函数用于最后几步微调动作直至达到稳定态可供调度线程运作为止。 --- #### 5. **初始化驱动和服务** 随着内核逐步接管机器管理权限的同时也会同步激活各类内置模块支持诸如硬盘分区扫描识别等功能特性从而构建起完整的虚拟机框架体系之上再叠加实际业务逻辑层面上的东西形成最终呈现效果给终端使用者看到的样子[^2]。 --- #### 6. **用户空间初始化** 最后一个关键步骤涉及到了 init 进程被触发后的活动序列安排情况说明如下所示例子当中提到过的 systemd 就是用来统筹规划所有后台守护进程生命周期管理工作的一项重要工具之一。 ```c // 用户空间第一个进程通常是 /sbin/init 或者替代品如 busybox-init int main(void){ execve("/init", argv, envp); } ``` 以上片段简单描述了从纯裸板过渡到具备图形界面甚至互联网连接能力复杂程度一而足的各种形态各异的产品实例之间共有的基础原理机制概览。 --- ### 总结 综上所述,嵌入式 Linux 系统的启动过程是一个多阶段协作的结果,从最底层的硬件初始化到最后的应用服务启动,每一个环节都至关重要且环环相扣。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技术园地

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值