要使用 systemd 实现开机自启,您可以按照以下步骤进行操作:

  1. 创建一个新的服务文件,该文件将告诉 systemd 如何启动您的应用程序。您可以使用任何文本编辑器(例如 nano 或 vim)创建此文件。
sudo nano /etc/systemd/system/myapp.service

请注意,您需要使用 root 身份运行此命令。

  1. 将以下内容添加到新的服务文件中。您需要替换所有出现的“myapp”文本为您的应用程序名称,并将“/path/to/myapp”替换为应用程序的实际路径。
[Unit]
Description=My Application

[Service]
Type=simple
ExecStart=/path/to/myapp

[Install]
WantedBy=multi-user.target

请注意,您需要使用 ExecStart 属性来指定启动应用程序的命令,而 Type 属性应该是“simple”,表示 systemd 应该启动一个普通的进程。

  1. 保存并关闭文件。
  2. 使用以下命令告诉 systemd 重新加载配置文件:
sudo systemctl daemon-reload
  1. 使用以下命令启动新的服务:
sudo systemctl start myapp
  1. 使用以下命令检查服务状态:
sudo systemctl status myapp
  1. 如果服务已经启动并正在运行,则可以使用以下命令将其设置为开机自启:
sudo systemctl enable myapp

现在,您已经成功地创建了一个 systemd 服务,并将其设置为在开机时自动启动。如果您希望停止服务,请使用以下命令:

sudo systemctl stop myapp

如果您想禁用自启功能,请使用以下命令:

sudo systemctl disable myapp

编者增加:
当使用frp时,推荐加上自动重启

[Unit]
Description=Fuju Frp Client Service - %i
After=network.target syslog.target
Wants=network.target

[Service]
Type=simple
Restart=on-failure
RestartSec=5s
ExecStart=/bin/sh -c '/usr/local/frp/frpc -c /usr/local/frp/%i.ini'

[Install]
WantedBy=multi-user.target