创建自定义systemctl文件

vim /usr/lib/systemd/system/frpc.service 

编写systemctl文件

[Unit]   # 主要是服务说明
Description=frpc start   # 简单描述服务
After=network.target    # 描述服务类别,表示本服务需要在network服务启动后在启动
#Before=xxx.service      # 表示需要在某些服务启动之前启动,After和Before字段只涉及启动顺序,不涉及依赖关系。

[Service]  # 核心区域
Type=forking     # 表示后台运行模式。
User=root        # 设置服务运行的用户
Group=root       # 设置服务运行的用户组
KillMode=control-group   # 定义systemd如何停止服务
#PIDFile=/home/app/server/frpc   # 存放PID的绝对路径
Restart=yes        # 定义服务进程退出后,systemd的重启方式,默认是不重启
ExecStart=/home/app/server/frp/frpc -c /home/app/server/frp/frpc.ini   # 服务启动命令,命令需要绝对路径
PrivateTmp=true                               # 表示给服务分配独立的临时空间
   
[Install]   
WantedBy=multi-user.target  # 多用户

简写版

[Unit]
# 服务名称,可自定义
Description = frp client
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /home/app/server/frp/frpc -c /home/app/server/frp/frpc/frpc.ini

[Install]
WantedBy = multi-user.target

例子

vim /usr/lib/systemd/system/nginx.service 
[Unit]
Description=nginx - web server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t -c  /etc/nginx/nginx.conf
ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/usr/sbin/nginx -s reload
ExecStop=/usr/sbin/nginx -s stop
ExecQuit=/usr/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target

#!/bin/bash
[Unit]
# 服务名称,可自定义
Description = frp client
After = network.target
Wants = network.target

[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /home/app/server/frp/frpc -c /home/app/server/frp/frpc.ini

[Install]
WantedBy = multi-user.target
~