systemd 和 chkconfig 都是用于管理 Linux 系统服务的工具。它们的主要区别如下:

  1. systemd 是一种更加现代化的服务管理器,而 chkconfig 是旧式的服务管理器之一。
  2. systemd 使用单一的 .service 文件来描述服务,并提供了更多的启动控制和监控功能。chkconfig 则使用多个 .rc 文件来描述服务,并且不支持系统服务的运行状态监控。
  3. systemd 是针对最新版本的 Linux 发行版进行设计的,如 CentOS 7、Ubuntu 15.04、Fedora 15 及更高版本。chkconfig 则是针对较旧版本的 Linux 发行版设计的,如 CentOS 6、Ubuntu 14.04、Fedora 14 及更早版本。

综上所述,如果您的 Linux 系统使用了 systemd,建议使用 systemd 来管理服务。如果您的系统使用了较旧的 Linux 发行版,或者您需要兼容某些遗留系统,可以使用 chkconfig。但是需要注意的是,最好不要在同一台服务器上同时使用 systemd 和 chkconfig 管理服务。



要通过创建一个 systemd service 文件来配置开机自启动,可以按照以下步骤操作:

创建一个 systemd service 文件,文件名一般以 .service 结尾,比如 myservice.service。在该文件中指定需要启动的脚本或命令。以下是一个示例:

[Unit]
Description=My Service

[Service]
ExecStart=/path/to/my_script.sh

[Install]
WantedBy=multi-user.target

注释

[Unit]
Description=Time.sh        # 服务描述,用于描述此服务的作用

[Service]
ExecStart=/root/time.sh    # 服务启动命令,指定需要执行的脚本或命令

[Install]
WantedBy=multi-user.target # 服务安装级别,指定服务在哪个运行级别下启动

将该文件保存到 /etc/systemd/system/ 目录下。注意,文件名必须以 .service 结尾,并且文件权限应该设置为 644。

执行以下命令,使 systemd 加载新的服务文件:

sudo systemctl daemon-reload

执行以下命令,使新的服务在系统启动时自动启动 和禁止自启动:

sudo systemctl enable myservice.service
sudo systemctl disable myservice.service

如果需要手动启动该服务,可以使用以下命令:

sudo systemctl start myservice.service

如果需要停止该服务,可以使用以下命令:

sudo systemctl stop myservice.service

要列出所有的 systemd 服务,可以执行以下命令:

systemctl list-unit-files --type=service

在以上步骤中,/path/to/my_script.sh 应该替换为实际的脚本文件路径。另外,Description 和 WantedBy 配置项可以根据需要进行修改,用于描述服务的作用和指定服务在哪个运行级别下启动。

示例:
自启动运行脚本

[Unit]
Description=bbrpuls

[Service]
ExecStart=/bin/bash -c 'echo "6" | /root/tcp.sh'

[Install]
WantedBy=multi-user.target

自启动运行多个脚本

这将会延迟 15 秒后依次运行 `/path/to/script1.sh` 和 `/path/to/script2.sh`。
ExecStart=/bin/bash -c 'sleep 15 && /path/to/script1.sh && /path/to/script2.sh'

如果需要传递参数给脚本,可以在命令中添加参数,例如
ExecStart=/bin/bash -c 'sleep 15 && /path/to/script1.sh arg1 arg2 && /path/to/script2.sh arg3'


仅运行一次

[Unit]
Description=bbrpuls

[Service]
Type=oneshot
ExecStart=/bin/bash -c 'sleep 15 && echo "6" | /root/tcp.sh'
ExecStop=/bin/bash -c 'systemctl disable bbrpuls.service'
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target


要删除 Systemd 系统服务

要删除 Systemd 系统服务,可以按照以下步骤进行操作:

1、打开终端并以管理员权限登录到系统。

2、用 systemctl 命令停止服务,例如:sudo systemctl stop servicename.service

3、 使用 systemctl 命令禁用服务,例如:sudo systemctl disable servicename.service

4、如果需要删除服务文件,可以使用 rm 命令删除服务文件,例如:sudo rm /etc/systemd/system/servicename.service

5、使用 systemctl 命令重新加载 Systemd 配置,例如:sudo systemctl daemon-reload

注意:在删除服务之前,请确保您真的不需要该服务,并且您知道其所执行的操作。删除服务可能会影响系统的正常运行,因此请谨慎操作。