ubuntu下基于systemctl的守护进程编写

该博客详细介绍了如何在Ubuntu系统中设置一个Python服务在开机时自动启动。步骤包括切换到root用户,创建自启动文件,修改文件权限,创建软链接,重新加载配置,启用并启动服务,以及检查服务状态。这个过程对于系统管理和自动化运维至关重要。

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

首先需要切换到root 账户下

sudo su root

第一步:到相应目录下

cd /usr/lib/systemd/system

第二步:新增自己的开启需要自启动的文件(例:server_tcp.service)

[Unit]
Description=servicectrl
After=network.target

[Service]
Type=simple
Restart=on-failure
ExecStart=python  /home/ubuntu/zhengshu/server_tcp.py

[Install]
WantedBy=multi-user.target

第三步:更改权限

chmod +x  server_tcp.service

第四步:增加软连接

ln -sf  /lib/systemd/system/server_tcp.service /etc/systemd/system/server_tcp.service

 

第五步:重新加载配置

systemctl daemon-reload

第六步:设置开机启动

sudo systemctl enable server_tcp.service

第七步:手动开启

systemctl  restart server_tcp.service

第八步:查看状态

systemctl  status server_tcp.service

### 使用 `systemctl` 编写服务或管理系统 #### 创建自定义服务文件 为了创建一个新的服务,在 `/etc/systemd/system/` 或者 `/lib/systemd/system/` 目录下新建一个 `.service` 文件。通常推荐使用前者来放置本地配置的服务。 #### 定义服务单元文件的内容 服务单元文件遵循特定格式,其中包含了描述该服务的信息和服务的行为方式。以下是构建一个简单的 Nginx 服务器启动脚本的例子: ```ini [Unit] Description=NGINX - A high performance web server and reverse proxy server After=network.target [Service] Type=forking PIDFile=/run/nginx.pid ExecStartPre=/usr/sbin/nginx -g 'daemon on; master_process on;' ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s QUIT $MAINPID PrivateTmp=true [Install] WantedBy=multi-user.target ``` 上述示例中,`[Unit]`部分提供了关于此服务的一些基本信息;`[Service]`部分则指定了实际执行的操作命令;而 `[Install]`部分决定了当服务被启用时应将其关联到哪个目标上[^4]。 #### 基础操作指令 一旦有了合适的服务文件之后就可以利用 `systemctl` 来控制这些服务了。例如可以使用如下命令来进行基本的管理动作: - **启动**某个指定名称的服务:`systemctl start <servicename>.service` - **查询**某项具体服务的状态:`systemctl status <servicename>.service` - 设置为随系统引导自动加载运行级别中的组件:`systemctl enable <servicename>.service` - 移除开机自启设置并立即停止对应进程:`systemctl disable <servicename>.service && systemctl stop <servicename>.service` - 检查是否设置了开机启动属性:`systemctl is-enabled <servicename>`[^3] 通过以上方法可以在Ubuntu操作系统里有效地管理和定制各种后台守护程序及其行为模式。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值