本文共 1518 字,大约阅读时间需要 5 分钟。
在流行的Ubuntu系统中,开机自启动程序或脚本并不是通过rc.local文件实现的,而是采用更加灵活且功能强大的systemd服务管理方式。以下将详细介绍如何编写自定义的systemd服务,以及如何让服务在系统启动时自动启动。
首先,需要通过某种编程方式创建一个systemd服务描述文件。文件通常命名为myselfTest.service,并且放在/etc/systemd/system/目录下。
sudo vim /etc/systemd/system/myselfTest.service
[Unit]Description=Cclient desktop virtualization serviceAfter=network.target[Service]Type=forkingUser=szydGroup=szydRestart=alwaysTimeoutSec=0ExecStart=/home/ubuntu/installer/nacos/bin/startup.sh -m standaloneExecReload=/home/ubuntu/installer/nacos/bin/shutdown.shExecStop=/home/ubuntu/installer/nacos/bin/shutdown.sh[Install]WantedBy=multi-user.target
Type=forking,则服务启动后会继续在后台运行。此时,运行systemctl status将显示服务状态为active。ExecStart启动完成后,服务将被移出后台。为了实现特定服务的自定义功能,可能需要编写一个启动脚本,并确保脚本中的变量路径正确。以Nacos服务为例,需在startup.sh中设置明确的绝对路径:
#!/bin/bashexport JDK_HOME=/usr/lib/jvm/java-11-openjdk-debian...
在Ubuntu 18.04及以上版本,systemctl用于管理服务启动。此外,使用systemctl命令可以轻松配置服务开机启动。
sudo systemctl daemon-reloadsudo systemctl enable myselfTest.service# 查看启用状态sudo systemctl is-enabled myselfTest.service# 启动服务sudo service myselfTest start# 查看状态sudo service myselfTest status# 停止服务sudo service myselfTest stop
systemctl status myselfTest.servicesystemctl try-restart测试重新启动服务通过以上步骤,可以轻松创建并管理自定义的开机自启动服务。这种方式比传统的方法更加灵活,也更符合现代Linux系统的管理规范。
转载地址:http://fwvpz.baihongyu.com/