首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux 添加自启动程序

在Linux系统中,添加自启动程序可以通过多种方式实现,以下是一些常见的方法:

一、基于Systemd的方式(适用于大多数现代Linux发行版)

  1. 创建Systemd服务单元文件
    • /etc/systemd/system/目录下创建一个以.service为后缀的文件,例如myprogram.service
    • 编辑该文件,添加以下内容:
    • 编辑该文件,添加以下内容:
    • 其中ExecStart指定要执行的程序路径,User指定运行该程序的用户。
  • 重新加载Systemd配置
  • 重新加载Systemd配置
  • 启用服务自启动
  • 启用服务自启动
  • 启动服务
  • 启动服务

二、基于SysVinit的方式(适用于较旧的Linux系统)

  1. 创建启动脚本
    • /etc/init.d/目录下创建一个启动脚本,例如myprogram
    • 编辑该脚本,添加启动和停止逻辑,并确保脚本具有可执行权限:
    • 编辑该脚本,添加启动和停止逻辑,并确保脚本具有可执行权限:
  • 设置脚本权限
  • 设置脚本权限
  • 启用服务自启动
  • 启用服务自启动

三、使用 Crontab

还可以利用crontab@reboot功能来实现程序开机自启动:

代码语言:txt
复制
@reboot /usr/bin/myprogram

将这行命令添加到用户的crontab文件中:

代码语言:txt
复制
crontab -e

优势

  • Systemd:管理更加高效,支持依赖关系管理和服务状态监控。
  • SysVinit:兼容性好,适用于传统的Linux系统。
  • Crontab:简单易用,适合小型脚本或命令的启动。

应用场景

  • 系统服务(如Web服务器、数据库)。
  • 定时任务或后台进程。
  • 用户特定的应用程序。

可能遇到的问题及解决方法

  1. 权限问题:确保脚本和服务文件具有正确的权限。
  2. 路径问题:使用绝对路径来避免环境变量问题。
  3. 依赖服务未启动:在[Unit]部分正确设置After依赖关系。

通过以上方法,你可以根据具体的需求和系统环境选择最适合的方式来添加Linux系统的自启动程序。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Linux如何添加自启动文件(添加在哪里)

本文说的启动文件指的是内核启动之后,启动根文件系统系统过程中添加自启动文件。...通过顺序可以看出/etc/init.d/rcS这个文件顺序在前,/etc/rcS.d会执行一些网络服务,如果自己的应用程序需要这些网络服务那就得在/etc/rcS.d文件里加,来保证程序的先后顺序。...添加文件 有rc.local这个文件 经常可以看到有些介绍让把自启动应用程序放入rc.local这个文件的,这个文件通常是最后启动的,一般在/etc/rcS.d这个文件里(链接文件)。...这样的话我们就把自己的文件直接放入根目录下就可以了(可以根据自己的需要更改位置,此处只是举个例子),以下是在rc.local最后添加的程序。 cd /chmod 777 testfile....这个文件可有可没有,但是习惯用它的话把它添加进去就可以了,以添加这个文件为例。

14.9K40
  • 程序自启动方式 - ActiveX

    [普及]程序自启动方式 - ActiveX     每次都是一个假期不开VC,可能都是在学校做的多了,回家了要换个口味。     已经在学校呆了好几天,明天还要补考,想着想着就泪流满面了。...也是那时候,我写了我人生第一个Widnows程序,也就此跟VC结下了不解之缘。     当时写的东西是“编程实现自启动”。当时还是懵懂初开,查了不少资料,写了一个基于修改注册表实现的自启动。...这里判断其打开成功或失败的原因是,如果打开成功,说明有该键不存在,进一步说明这个程序是第一次自启动,这时我们就执行if语句中的内容。    ...这个函数在这里就是创建一个键名为StubPath的子键,其值是我们需要自启动的程序的绝对地址。...我估计原因是这样,第一次程序自启动成功后,在程序结束运行的时候系统才新建这个键。所以我程序中删除该键的时候,该键其实并不存在。

    1.1K10

    Windows程序自启动原理

    在Windows操作系统下,主要有2个文件夹和8个注册表键项控制程序的自启动,下面主要介绍这2个文件夹和8 个注册表项: 1.用户专用启动文件夹-——最常见的自启动程序文件夹,它位于系统分区盘下,路径为...: 系统盘:\\Dcoument and Setting\\开始\程序\启动,它是针对用户来使用的。...2.所有用户启动文件夹——另外一个常见自启动程序文件夹,它位于系统分区盘下,路径为: 系统盘:\\Dcoument and Setting\ALL USER\开始\程序\启动,而该文件夹是针对所有的用户...,所以 在键值的数值中可以加入其它程序,系统启动时加载程序的。...载相关联的程序 位于[HKEY_CURRENT_USER]根键下的“RunOnce”子键在操作系统处理完其它注册表Run子键及自启动文件 夹内的程序后再加载

    3K50

    linux设置开机自启动

    linux设置开机自启动执行命令: 执行命令: 编辑"/etc/rc.local",添加你想开机运行的命令 运行程序脚本:然后在文件最后一行添加要执行程序的全路径。.../hello.sh " 注意,你的命令应该添加在:exit 0 之前 image.png 在/etc/init.d目录下添加自启动脚本 linux在“/etc/rc.d/init.d”下有很多的文件...,每个文件都是可以看到内容的,其实都是一些shell脚本或者可执行二进制文件 Linux开机的时候,会加载运行/etc/init.d目录下的程序,因此我们可以把想要自动运行的脚本放到这个目录下即可。...etc/init.d/proxy missing LSB information update-rc.d: see 只需要对自启动脚本做一些小改动...写了脚本文件之后事情还没有完,继续完成以下几个步骤: chmod +x startTest         #增加执行权限 chkconfig --add startTest     #把startTest添加到系统服务列表

    17.9K40

    Linux系统的开机自启动

    比如某些安全卫士,某些听歌软件等等,它们在系统启动完成时并自动启动,而linux系统也有这样的机制,我们来看看linux如果管理开机自启动。...ps -ef # ps --help 或 man ps 了解e和f参数的作用 有了这些概念以后,我们就可以来了解如何去管理linux系统中的服务开机自启动(services start at boot...在linux系统中,管理服务启动的系统叫“systemd”,它是linux系统启动时第一个启动的进程,后面所有的进程都是由这个进程启动,所以你会看到它的进程号PID为1。...管理服务开机启动与否的命令是systemctl,它的作用不止于此,但我们此刻只了解它与自启动管理相关的部分。 # 我们以时间同步服务chrony举例,查看chrony的状态。...systemctl list-unit-files # 查看服务的自启动状态以list-unit-files为准 # 但是系统服务太多,我想分类查看该如何做?

    8.4K30

    优雅地乱玩 Linux-7-Cron 实现程序自启动

    谈谈 Linux 权限管理以及 Shell 关于可执行权限 Cron 的使用 配置 基本使用 安装 基本使用 编辑 Task 实现开机自动启动 编辑 Task 实现定时启动 使用单文件管理所有...Task (可选) 系列文章 参考文献 谈谈 Linux 权限管理以及 Shell 首先对于一条 Linux 命令; sh abc.sh -a -b 可以理解成两个部分: [command]...可以使用chmod添加可执行权限: chmod +x abc.sh 然后就可以不加 sh 直接执行了 有了这些知识,编写 Cron 命令会干净很多。...Cron 的使用 Cron 这一个实现 Linux 命令自动化的工具。 比较常用的就是每隔一段时间自动执行一段脚本。 而我经常用到的情形就是每一次重启的时候执行一段特定的脚本。...这时就会用到上面提到的,给这个 .sh 文件添加可执行权限。

    74830

    Linux中设置服务自启动

    有时候我们需要Linux系统在开机的时候自动加载某些脚本或系统服务,本文记录实现方法。...概述 Linux系统在开机的时候自动加载某些脚本或系统服务本质为控制 /etc/rc*.d (* \in [0,1,2,3,4,5,6]) 文件夹下内容来完成的 系统启动时会自动运行/etc/rc*...d目录中建立/etc/init.d/服务的软链接(*代表0~6七个运行级别之一) chkonfig 命令行运行级别设置 ntsysv 伪图形运行级别设置 ln -s 建立启动软连接 在Linux...如果需要在多个运行级别下设置自启动,则需建立多个软链接 这种方式比较繁琐,适用于自定义的服务脚本 chkconfig 如果需要自启动某些服务,只需使用 chkconfig 服务名 on即可,...若想关闭,将on改为off 在默认情况下,chkconfig会 自启动 2345 这四个级别,如果想自定义可以加上--level选项 上面我们先将sshd服务的所有启动级别关闭,然后使用*–

    18.3K20

    嵌入式Linux中自己写的程序如何开机自启动?

    1 自启动的三种方式 在Linux系统中,配置应用程序自动启动的方法有以下三种: 1.1 通过/Linuxrc脚本直接启动 Linux内核一旦开始执行,它将通过驱动程序来初始化所有硬件设备,这个初始化过程可以在启动时的...1.2 在/etc/init.d下添加启动脚本 主要用来启动一些系统服务,根据runlevel执行rcx.d, 而在rcx.d中都会在最后调用rc.local 一般情况下,大多数的Linux操作系统使用...1.3 直接在/etc/rc.d/rc.local脚本中添加命令 在Linux系统中,有一个类似Windows系统中autoexec.bat的文件,它就是/etc/rc.d/rc.local,系统开机后自动运行用户的应用程序或启动系统服务的命令保存在开发板根文件系统的这个文件中...因此可以编辑rc.local文件,将要执行的程序(命令)添加到该文件夹中。Linux系统在启动后还未登录前,将自动执行该程序(命令),达到开机自动运行用户的应用程序的目的。...读取硬盘中的MBR(主引导记录),加载引导程序(linux中是grub),grub程序会加载系统kernel和虚拟文件系统。

    50610
    领券