Linux笔记-使用systemd管理进程

背景

程序需要长期运行,写一个进程管理程序啥的,有成本,利用systemd(system daemon)可以使得进程能够快速管理起来。

过程

① 首先构造一个shell。把需要加载的环境变量啥的,都写上去,然后进行调用,我这里以tcsh为了。

构造xxweb.sh

bash 复制代码
vim /home/xx/xxweb.sh

xxweb.sh内容

bash 复制代码
#!/bin/tcsh
source /home/xx/xx.cshrc.xxx

/home/xx/xxServer

切换root用户,赋予权限

bash 复制代码
chmod 777 /home/xxx/xxweb.sh

② 新增xxweb.service

bash 复制代码
vim /etc/systemd/system/xxweb.service

xxweb.service内容如下:

bash 复制代码
[Unit]
Description=xxweb
After=network.target

[Service]
ExecStart=/home/xx/xxweb.sh
Restart=always
RestartSec=5
User=xx
Environment=SYSTEM_LOG_LEVEL=debug

[Install]
WantedBy=default.target

重新加载systemd

bash 复制代码
systemctl daemon-reload

③ 启动

切换root用户

bash 复制代码
systemctl start xxweb.service

查询状态

bash 复制代码
systemctl status xxweb.service

其他细节

① 如果要使用bash需要修改shell文件的开头

bash 复制代码
#!/bin/bash

② 设置为开机启动,需要切换root用户然后

bash 复制代码
systemctl enable xxweb.service
相关推荐
三十..1 分钟前
Redis 核心原理与高可用架构实践
运维·数据库·redis
努力努力再努力wz36 分钟前
【内存管理与高并发内存池系列】从 mmap 到 malloc:文件映射、匿名映射与 glibc 内存分配机制详解
linux·c语言·数据结构·数据库·c++·qt·链表
Jurio.1 小时前
开源 Codex Sticky:在终端 Codex CLI 长对话中始终固定底部输入框
linux·rust·github·开源软件·codex·codex cli
无足鸟ICT1 小时前
【RHCA+】撤销和恢复撤销快捷键
linux
质造者1 小时前
LangChain + Ollama + Tavily 实现旅游问答系统
linux·人工智能·python·langchain·rag
伊布拉西莫2 小时前
【流畅的Python】第20章:并发执行器 — 学习笔记
笔记·python·学习
starvapour2 小时前
Ubuntu部署gitlab频繁出现502的问题
linux·ubuntu·gitlab
jinglong.zha2 小时前
LScript-从零基础到商业变现的AI自动化学习平台
运维·学习·自动化
Adorable老犀牛2 小时前
Telegraf:InfluxData 出品的指标采集代理
运维·telegraf
北塔软件3 小时前
北塔软件智能体平台 | 不只监控,更是AI时代的数据资产
运维·人工智能·知识库·北塔软件