最近玩树莓派,要设置相机一开打开并且要和上位机通信,我要把这个程序一直后台运行及开机自启动,发现一下方法可以实现:
1.编写服务单元文件:
在 /etc/systemd/system/
目录下创建一个 .service
文件,命名为你的服务名称(比如 your_service.service
),并编辑该文件
sudo nano /etc/systemd/system/your_service_name.service
2.填写服务单元文件
[Unit]
Description=Your Service Description
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/python /path/to/your_program.py
Restart=always
User=your_username
[Install]
WantedBy=multi-user.target
- 将
Description
替换为你服务的描述。 - 在
ExecStart
中指定程序的启动命令,包括需要执行的程序以及其路径。 - 如果需要,根据你的需求修改其他字段。
3.保存并退出
4.重新加载 systemd 守护进程:
运行以下命令以重新加载 systemd 守护进程,使其注意到新的服务单元文件:
sudo systemctl daemon-reload
5.启动服务:
运行以下命令来启动你的服务:
sudo systemctl start your_service_name.service # 启动服务
6.设置开机自启动(可选):
如果你想让服务在系统启动时自动启动,可以运行以下命令:
sudo systemctl enable your_service_name.service # 启用服务,使其开机自启动
7.检查服务状态:
你可以使用以下命令来检查服务是否正在运行:
sudo systemctl status your_service_name.service
8.如果需要停止服务,可以使用:
sudo systemctl stop your_service_name.service