在 CentOS 7 中设置 Python 开机启动

如果你是一名刚入行的开发者,想要在 CentOS 7 上实现 Python 脚本的开机启动,下面这篇文章将帮助你系统地理解整个过程。

流程概述

首先,我们来看一下整个设置的流程:

步骤 描述
1 创建 Python 脚本
2 创建 Systemd 服务文件
3 启用并启动服务
4 检查服务状态

接下来,我们将逐个步骤详细介绍并提供相应的代码示例。

步骤详细说明

步骤 1: 创建 Python 脚本

首先,你需要有一个可以运行的 Python 脚本,假设它的路径是 /home/youruser/myscript.py

你可以使用以下命令创建这个文件:

nano /home/youruser/myscript.py

然后,添加你的 Python 代码,并确保它有可执行权限:

#!/usr/bin/env python3
# myscript.py
import time

while True:
    print("Hello, World!")
    time.sleep(10)  # 每 10 秒打印一次

使用以下命令为脚本添加执行权限:

chmod +x /home/youruser/myscript.py

步骤 2: 创建 Systemd 服务文件

Systemd 是 CentOS 7 使用的初始化系统。我们需要创建一个服务单位文件来管理你的 Python 脚本。

使用以下命令创建服务文件:

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

在该文件中添加以下内容:

[Unit]
Description=My Python Script

[Service]
ExecStart=/usr/bin/python3 /home/youruser/myscript.py
WorkingDirectory=/home/youruser
StandardOutput=journal
Restart=always

[Install]
WantedBy=multi-user.target

注释说明:

  • Description : 服务的描述。
  • ExecStart : 执行的命令(需确保路径正确)。
  • WorkingDirectory : 脚本的工作目录。
  • StandardOutput : 日志输出方式。
  • Restart : 无论什么情况,服务崩溃后始终重启。

步骤 3: 启用并启动服务

使用以下命令启动它并将服务设为开机自启动:

sudo systemctl start myscript.service  # 启动服务
sudo systemctl enable myscript.service  # 设置开机自启动

步骤 4: 检查服务状态

你可以使用以下命令查看服务状态以确保一切正常:

sudo systemctl status myscript.service

如果一切顺利,你应该能看到服务的状态为“active (running)”。

饼状图示例

为了帮助你直观理解每个步骤的时间分配,我们附上一个饼状图:

pie
    title 开机启动设置步骤时间分配
    "创建 Python 脚本": 25
    "创建 Systemd 服务文件": 25
    "启用并启动服务": 30
    "检查服务状态": 20

结尾

通过以上步骤,你已经学习了如何在 CentOS 7 系统上设置一个 Python 脚本的开机启动。掌握这些基本操作不仅能提高你的开发效率,还能帮助你入门更复杂的系统管理任务。希望对你有所帮助,祝你编程愉快!