2024-简单点-假设我要让一个py功能文件变成服务,在网络启动后进行,并且开机自动启动。

本文详细解释了如何创建一个systemd服务单元文件,以便在Linux系统中启动一个Python脚本(如Web服务器)作为开机自启动服务。涉及[Unit]、[Service]和[Install]部分的配置及启用命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

功能:假设我要让一个py功能文件变成服务,在网络启动后进行,并且开机自动启动。

cd /etc/systemd/system/
sudo nano  xxxxxx.service
[Unit]
Description=write whatever you want
After=network.target
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/python /home/pi/xxx/xxx.py
[Install]
WantedBy=multi-user.target

这是一个 systemd 的服务单元文件(unit file),通常用于在 Linux 系统中定义和启动服务。这个文件描述了如何启动、停止和管理一个特定的服务。在这个例子中,它用于启动一个名为 “xxxxxx” 的服务。

下面是每一部分的解释:

[Unit] 部分

  • Description=write wahtever you want: 这行提供了关于服务的简短描述。
  • After=network.target: 这表示该服务应该在网络目标(network.target)之后启动。network.target 通常表示网络配置已经完成,这对于许多网络服务来说是必要的。

[Service] 部分

  • Type=oneshot: 意味着服务只会执行一次
  • ExecStart=/usr/bin/python /home/pi/xxx/xxx.py: 这定义了如何启动服务。这里,它使用 /usr/bin/python 来执行 /home/pi/xxx/xxx.py 这个 Python 脚本。

在这里插入图片描述

[Install] 部分

  • WantedBy=multi-user.target: 这表示该服务应该在进入多用户模式(即不是单用户或图形界面模式)时启动。这通常是在系统启动并且大多数服务都可用时。

如果想在进入图形界面模式的时候,也可以用graphical.target

总结

这个服务单元文件定义了一个服务,该服务将启动一个 Python 脚本(app.py),该脚本可能是一个 Web 服务器或其他长时间运行的服务。它依赖于网络,并且在系统进入多用户模式时自动启动。如果服务意外退出,它将自动重启。

要启用并启动这个服务,你通常会使用以下命令:

sudo systemctl enable picamera2-webui-lite.service
sudo systemctl start picamera2-webui-lite.service

这里假设你的服务单元文件名为 picamera2-webui-lite.service,并且它位于 /etc/systemd/system/ 或其他 systemd 搜索的路径中。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

万物琴弦光锥之外

给个0.1,恭喜老板发财

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

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

打赏作者

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

抵扣说明:

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

余额充值