ubuntu下怎么设置机器程序开机自启?

devtools/2024/11/19 23:44:29/

在 Ubuntu 中,可以通过多种方法设置程序或脚本在系统启动时自动运行。以下是几种常见方法:

方法 1:使用 crontab

crontab 是一个定时任务管理工具,可以用来设置程序在开机时自动运行。

1. 打开终端,编辑当前用户的 crontab 文件:

crontab -e

2. 在文件末尾添加一行,格式如下:

@reboot /path/to/your/script

例如:

@reboot /home/user/startup.sh

3. 保存并退出。下次系统启动时,脚本会自动运行。

方法 2:使用 systemd 服务

这是设置开机启动的推荐方式,适用于需要更多控制的场景。

1. 创建一个 .service 文件:

sudo nano /etc/systemd/system/myapp.service

2. 在文件中添加以下内容:

[Unit]
Description=My Startup Application
After=network.target  # 等待网络服务启动后执行(可选)[Service]
ExecStart=/path/to/your/program_or_script
Restart=always         # 程序崩溃后自动重启(可选)[Install]
WantedBy=multi-user.target

3. 保存文件后,启用服务:

sudo systemctl enable myapp.service

4. 如果需要立即测试,可以启动服务:

sudo systemctl start myapp.service

方法 3:添加到用户启动程序

适用于需要在桌面环境(如 GNOME)下自动运行的应用。

1.打开终端,输入:

gnome-session-properties

2. 在弹出的“启动应用程序首选项”窗口中,点击“添加”。

3. 填写应用程序名称和可执行文件路径。

4. 保存后,下次登录桌面环境时,该应用会自动运行。

方法 4:修改 /etc/rc.local

如果需要兼容旧系统的方式,可以使用 rc.local 文件(现代系统可能默认禁用)。

1. 编辑 /etc/rc.local 文件:

sudo nano /etc/rc.local

2. 在文件中添加要运行的命令:

#!/bin/bash
/path/to/your/script
exit 0

3. 确保文件可执行:

sudo chmod +x /etc/rc.local

方法 5:放置脚本到 /etc/init.d

这是另一个传统方式,但在现代系统中较少使用。

1. 将脚本复制到 /etc/init.d/ 目录:

sudo cp /path/to/your/script /etc/init.d/myscript

2. 赋予可执行权限:

sudo chmod +x /etc/init.d/myscript

3. 添加脚本到系统启动列表:

sudo update-rc.d myscript defaults

注意事项

  • 确保脚本或程序路径正确,并且具有执行权限。
  • 如果脚本依赖网络或其他服务,使用 systemd 的 After 参数确保服务顺序。
  • 测试自动启动效果:重启系统或模拟启动条件。

http://www.ppmy.cn/devtools/135326.html

相关文章

CSS回顾-长度单位汇总详解

一、简介 在 CSS 中,长度单位是构建网页布局的关键,像神奇的尺子度量元素大小、间距和位置。有绝对和相对长度单位,各具价值与应用场景,是网页设计的重要元素,为响应式布局等赋予空间表现力和交互性。 了解不同的长度…

StructuredStreamingKafka中的实时ETL案例及常见问题

实时ETL 在 java 项目中&#xff0c;导入 jar 包&#xff1a; <dependencies><dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-clients</artifactId><version>3.0.0</version></dependency><dep…

富格林:正确应付阻挠虚假交易

富格林指出&#xff0c;投资者进入现货黄金市场的第一选择&#xff0c;应该是要学会正确阻挠虚假交易应对市场风险。市场千变万化&#xff0c;投资风险也随之而来&#xff0c;几乎每天都会有数据或消息公布&#xff0c;这也就使得该市场变得十分活跃。投资者要想正确应付阻挠虚…

【jvm】为什么要用元空间替代永久代

目录 1. 说明2. 永久代的限制与问题2.1 内存管理限制2.2 垃圾收集效率2.3 类的卸载问题 3. 元空间的优势 1. 说明 1.Java使用元空间替代永久代&#xff0c;这一变化主要源于永久代在实现上存在的限制和问题&#xff0c;以及元空间所提供的更优性能和更高灵活性。2.Java使用元空…

ISUP协议视频平台EasyCVR私有化部署视频平台如何实现RTMP推流将大疆无人机的视频画面回传?

在现代视频监控和流媒体技术领域&#xff0c;EasyCVR视频融合云平台以其卓越的性能和灵活性&#xff0c;成为了跨区域、网络化视频监控综合管理的理想选择。作为TSINGSEE青犀视频“云边端”架构体系中的核心组件&#xff0c;私有化部署视频平台EasyCVR不仅能够实现视频数据的集…

基于Java Springboot宠物救助管理系统

一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术&#xff1a;Html、Css、Js、Vue、Element-ui 数据库&#xff1a;MySQL 后端技术&#xff1a;Java、Spring Boot、MyBatis 三、运行环境 开发工具&#xff1a;IDEA/eclipse 数据…

Android 开发与救砖工具介绍

Android 开发与救砖工具介绍 在 Android 开发和设备维护中&#xff0c;fastboot、adb 和 9008 模式是三个非常重要的工具和模式。它们各自有不同的用途和操作方式&#xff0c;对于开发者和技术支持人员来说&#xff0c;了解它们的功能和使用方法是必不可少的。 1. Fastboot …

Springboot采用jasypt加密配置

目录 前言 一、Jasypt简介 二、运用场景 三、整合Jasypt 2.1.环境配置 2.2.添加依赖 2.3.添加Jasypt配置 2.4.编写加/解密工具类 2.5.自定义加密属性前缀和后缀 2.6.防止密码泄露措施 2.61.自定义加密器 2.6.2通过环境变量指定加密盐值 总结 前言 在以往的多数项目中&#xff0…