centos7 系统启动时程序可以自动启动的地方

润信云 技术支持

在 CentOS 7 中,有多个地方可以配置程序以在系统启动时自动启动。以下是主要的启动管理位置和方法:

1. Systemd 服务


CentOS 7 使用 systemd 作为其初始化系统和服务管理器。systemd 是一个系统和服务管理工具,负责启动和管理系统服务。

  • 系统服务文件:服务配置文件通常位于 /etc/systemd/system/ 和 /usr/lib/systemd/system/ 目录。这些文件以 .service 结尾,用于定义系统服务的启动行为。

  • 启用服务:要让服务在启动时自动启动,你可以使用 systemctl enable 命令。例如:

ActionScript
sudo systemctl enable httpd


  • 禁用服务:要防止服务在启动时自动启动,你可以使用 systemctl disable 命令。例如:

ActionScript
sudo systemctl disable httpd


  • 检查服务状态

ActionScript
systemctl list-unit-files --type=service

2. init.d 脚本

尽管 CentOS 7 主要使用 systemd,你仍然可以找到一些旧版的 init 脚本,这些脚本通常位于 /etc/init.d/ 目录中。它们用于启动和停止系统服务。

  • 启用服务:通常不推荐在 CentOS 7 上使用,但可以使用以下命令进行管理:

ActionScript
sudo chkconfig service_name on
  • 禁用服务

ActionScript
sudo chkconfig service_name off

3. /etc/rc.d/rc.local

/etc/rc.d/rc.local 是一个脚本文件,在系统启动时执行。你可以在这个文件中添加自定义启动命令。请注意,这个文件可能在某些 CentOS 7 系统中默认未启用。

  • 编辑文件

ActionScript
sudo nano /etc/rc.d/rc.local


  • 使 rc.local 可执行

ActionScript
sudo chmod +x /etc/rc.d/rc.local

4. Cron 作业

cron 允许在系统启动时运行特定任务。你可以使用 @reboot 选项在系统启动时安排任务。

  • 编辑用户的 crontab

ActionScript
crontab -e


  • 添加启动任务

ActionScript
@reboot /path/to/your/script.sh

5. Systemd 定时器

systemd 还支持定时器单元(timer),这可以用于定期运行任务,包括在系统启动时运行。

  • 创建定时器文件:定时器文件通常位于 /etc/systemd/system/,并以 .timer 结尾。

  • 示例

           创建一个服务单元 /etc/systemd/system/example.service 和定时器单元 /etc/systemd/system/example.timer

  • 启用定时器

ActionScript
sudo systemctl enable example.timer



6. /etc/profile 和 ~/.bash_profile

用户的环境变量和启动脚本可以配置在 /etc/profile(系统范围)和 ~/.bash_profile(用户范围)中。这些文件在用户登录时执行,但不适用于系统服务启动。

  • 编辑全局 /etc/profile

ActionScript
sudo nano /etc/profile


  • 编辑用户 ~/.bash_profile

ActionScript
nano ~/.bash_profile

7. Desktop Environment (图形用户界面)

如果你使用的是图形用户界面(GUI),你可以在 ~/.config/autostart/ 目录中添加 .desktop 文件,以在用户登录时启动应用程序。

  • 创建 .desktop 文件

ActionScript
[Desktop Entry]
Type=Application
Exec=/path/to/application
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name=YourApplication
Comment=Start Your Application

总结

在 CentOS 7 中,程序可以通过以下几种方式在系统启动时自动启动:

  1. systemd 服务:主要方式,通过 systemctl 管理。

  2. /etc/init.d/ 脚本:旧版方法,但在现代系统中使用较少。

  3. /etc/rc.d/rc.local:自定义启动脚本。

  4. cron 作业:使用 @reboot 选项安排任务。

  5. systemd 定时器:用于定期任务。

  6. 用户启动文件:/etc/profile 和 ~/.bash_profile。

  7. 图形用户界面:~/.config/autostart/ 目录中的 .desktop 文件。


每种方法适用于不同的场景,根据你的需求选择合适的方法来管理启动程序。


本文链接:https://blog.runxinyun.com/post/317.html 转载需授权!

版权声明
网站名称: 润信云资讯网
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。
不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。
我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!邮件:7104314@qq.com
网站部分内容来源于网络,版权争议与本站无关。请在下载后的24小时内从您的设备中彻底删除上述内容。
如无特别声明本文即为原创文章仅代表个人观点,版权归《润信云资讯网》所有,欢迎转载,转载请保留原文链接。
0 83

留言0

评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。