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
相关推荐
tobias.b13 小时前
ubuntu 系统维护
linux·运维·ubuntu
浅念-13 小时前
C++ 异常
开发语言·数据结构·数据库·c++·经验分享·笔记·学习
门豪杰13 小时前
使用WSL2安装Ubuntu子系统
linux·运维·ubuntu·wsl
面对疾风叭!哈撒给13 小时前
Linux之Docker使用JDK21安装包制作JDK21镜像包
java·linux·运维·docker
九皇叔叔13 小时前
【保姆级教程】CentOS 7.5/RHEL 7.x 编译安装 Redis 6.0.1
linux·redis·centos
绘梨衣的sakura路13 小时前
[特殊字符] 2026 年 AI 自动化新范式:OpenClaw 核心 Skill 精选与实战指南
运维·人工智能·自动化
RisunJan13 小时前
Linux命令-mail (发送和接收电子邮件)
linux·服务器
万象.13 小时前
Linux套接字socket编程(含TCP,UDP)
linux·tcp/ip·udp
ycjunhua13 小时前
Gool NoteBookLM 创建无法进入开发界面
笔记·学习
finegx14 小时前
反汇编objdump和strace学习
linux·经验分享·学习