Linux学习笔记:如何添加开机服务 (添加开机服务linux)

在Linux操作系统中,开机服务是一种在系统启动时自动运行的程序或服务。这些服务可能是系统自带的,也可能是用户自己安装的。添加开机服务可以让用户更方便地运行和管理自己的程序或服务,本文将介绍如何添加开机服务。

为了添加开机服务,我们需要在系统上创建一个systemd service unit文件。systemd是Linux系统中的一种服务管理器,用于管理和控制系统进程。一个systemd service unit文件描述了一个服务的配置和启动参数,通常保存在/etc/systemd/system目录下。以下是一个标准的systemd service unit文件的基本格式:

“`

[Unit]

Description=描述信息

After=依赖关系

[Service]

Type=服务类型

ExecStart=启动命令

ExecStop=停止命令

Restart=重启策略

[Install]

WantedBy=依赖关系

“`

其中,每个字段的含义如下:

Unit:描述了这个service unit 文件的元数据,包含了服务的描述信息和依赖关系。

Service:描述了服务的配置和启动过程。

Install:描述了服务的安装和卸载。

在创建一个service unit 文件之前,需要确认服务需要执行的命令和参数。例如,如果我们要创建一个名为myservice的服务,它需要运行一个名为myprogram的程序,可以使用以下命令创建myservice.service文件:

“`

sudo vi /etc/systemd/system/myservice.service

“`

然后输入以下内容:

“`

[Unit]

Description=My Service

[Service]

ExecStart=/usr/bin/myprogram arg1 arg2 arg3

[Install]

WantedBy=multi-user.target

“`

在这里,我们定义了一个名为My Service的服务,并将其运行的程序指定为 /usr/bin/myprogram,其参数为 arg1,arg2,arg3。同时,我们还指定了此服务在multi-user.target级别下启动。

当我们完成myservice.service文件的编辑以后,使用以下命令启动服务:

“`

sudo systemctl start myservice.service

“`

然后,我们可以使用下面的命令检查服务运行的状态:

“`

sudo systemctl status myservice.service

“`

如果服务已经运行,则输出如下所示:

“`

● myservice.service – My Service

Loaded: loaded (/etc/systemd/system/myservice.service; enabled; vendor preset: enabled)

Active: active (running) since Sun 2023-09-01 17:12:07 KST; 10min ago

Mn PID: 1234 (myprogram)

Tasks: 5 (limit: 4703)

Memory: 5.2M

CGroup: /system.slice/myservice.service

└─1234 /usr/bin/myprogram arg1 arg2 arg3

“`

如果服务未能正常运行,可以使用如下命令查看服务输出:

“`

journalctl -xn

“`

这个命令将显示在调试服务时必需的日志信息。

当我们使用start命令启动服务后,该服务只在当前会话中运行。要设置开机启动,可以使用以下命令:

“`

sudo systemctl enable myservice.service

“`

这个命令会创建一个软链接到 /etc/systemd/system/multi-user.target.wants目录下,启用开机自启动。如果你需要禁用开机自启动,可以使用以下命令:

“`

sudo systemctl disable myservice.service

“`

在Linux操作系统中,添加开机服务非常容易。只需要创建一个systemd service unit文件,定义服务的配置和启动参数,启动服务即可。当然,为了更好地管理服务,我们可以使用systemctl命令进行更多的操作,如检查服务状态、设置开机自启动等等。希望本文能够对初学者有所帮助。

相关问题拓展阅读:

linux设置开机自启动

linux设置开机自启动执行命令

执行命令

: 编辑”/etc/rc.local”,添加你想开机运行的命令

运行程序脚本

:然后在文件最后一行添加要执行程序的全路径。

例如,每次开机时要执行一个hello

.sh

,这个脚本放在/usr下面,那就可以在”/etc/rc.local”中加一行”/usr/./hello.sh”,或者” cd /opt &桥伏& ./hello.sh “

注意,你的命令应该添加在:exit 0 之前

linux在“/etc/rc.d/init.d”下有很多的文件,每个文件都是可以看到内容的,其实都是一些shell脚本或者可执行二进制文件 Linux开机的时候,会森消神加载运行/etc/init.d目录下的程序,因此我们可以把想要自动运行的脚本放到这个目录下即可。系统服务的启动就是通过这种方式实现的。

简单的说,运行级就是操作系统当前正在运行的功能级别。

例:在Ubuntu/debain里,可以使用update-rc.d命令来把示例脚本:/etc/init.d/proxy安装到各个runlevel中。

update-rc.d后面有三个参数,分别是/etc/init.d下的脚本名字,默认安装方式,运行的

优先级

。优先级的数字越大,表示越迟运行,这里我们把自己写的服务放在最后运行。

如果要卸载随机启动的服务,执行

在update-rc.d安装的时候提示了警告信息,是因为我们写的/etc/init.d/proxy太简陋了,只包含了我们想要的此亏命令,连LSB的信息也没有提供。

只需要对自启动脚本做一些小改动,就可以避免那个警告了。如下:

到此,一个最简单的随机启动服务写好了,看起来文章挺长的,但其实也就几个命令而已。 在下次开机启动的时候,proxy.py就会以root用户身份被自动运行。

在/etc/init.d下新建示例脚本文件(startTest.sh),该脚本会启动/opt/test.sh。内容如下:

写了脚本文件之后事情还没有完,继续完成以下几个步骤:

关于添加开机服务linux的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » Linux学习笔记:如何添加开机服务 (添加开机服务linux)