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
相关推荐
酷炫的水壶10 分钟前
使用memc-nginx和srcache-nginx模块构建高效透明的缓存机制
运维·nginx·缓存
十月的皮皮1 小时前
C语言学习笔记20260706-栈的压入、弹出序列验证
c语言·笔记·学习
dddwjzx1 小时前
嵌入式Linux C应用编程入门——信号
linux·嵌入式
范什么特西2 小时前
网络代理问题
java·linux·服务器
姚不倒2 小时前
F5 SSL Profile 证书卸载深入篇
运维·网络协议·负载均衡·ssl·f5
utf8mb4安全女神2 小时前
【Redis数据库】哨兵集群/redis集群/安装配置/主从复制/数据持久化操作/数据结构/安全限制/PHP redis/
linux·服务器·数据结构·数据库·redis·缓存
智商偏低2 小时前
Windows Nginx 完整安装 + 启动教程
运维·nginx
Zk.Sun2 小时前
Linux设置触屏双击距离容差
linux·运维·数据库
维他奶糖612 小时前
基于 DrissionPage 实现小红书搜索笔记批量采集
笔记
Let's Chat Coding3 小时前
对称密钥认证:主机和设备共享同一把密钥
运维·服务器·网络