前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Linux入门】守护进程daemon与服务service

【Linux入门】守护进程daemon与服务service

原创
作者头像
参谋带个长
修改2023-12-08 08:44:16
5661
修改2023-12-08 08:44:16
举报

在 Linux 系统的服务管理中会经常提到 daemon(守护进程)service(服务),守护进程 daemon 是指后台运行的进程,随系统启动而为应用程序提供支持, 而服务 service 则用于提供某种功能。

简单的说,系统为了某种功能而提供的服务程序,这个程序就是 service,而支持 service运行的进程则是 daemon。如计划任务服务(service)对应的程序进程是 crond 这个进程(daemon),但在日常的描述和表达中,并没有严格区分 daemon 和 service,通常可以将两者视为相同的东西。

常见的 daemon 包括 cron(定时任务守护进程)、sshd(SSH服务守护进程)、httpd(Apache Web服务器守护进程)和mysqld(MySQL服务守护进程)等。

管理服务命令 systemctl

在早期的 Linux 版本中管理服务的机制是通过 /etc/init.d/*、service 等方式进行,但现在主流的版本改为通过 systemd 进行服务管理机制,而 systemd 这个启动服务的机制则是由 systemctl 命令来完成的。

命令格式:

代码语言:javascript
复制
systemctl  操作  服务

# 操作
start:启动服务
stop:关闭服务
reload:不关闭服务的情况下,重新载入配置文件,让设置生效
restart:重启服务,相当于先stop再start

is-active:显示服务是否正在运行
is-enabled:显示服务是否开机默认启动
enable:设置下次开机时服务会被启动
disable:设置下次开机时服务不会被启动

kill:向运行服务的进程发送信号(并非强制结束服务)
status:显示服务的状态,列出是否正在执行、是否开机启动等信息

命令示例:

代码语言:javascript
复制
# 启动服务 apache
systemctl start apache

# 停止服务 nginx
systemctl stop nginx

# 重新加载服务 nginx 配置文件
systemctl reload nginx.service

# 重启服务 mysql
systemctl restart mysql

# 查看 mysql 服务状态
systemctl status mysql

# 开机自启动服务 nginx
systemctl enable nginx

# 取消开机自启动服务 nginx
systemctl disable nginx

# 查看服务是否开机自启动 sshd
systemctl is-enabled sshd.service

systemctl start sshd 与 systemctl start sshd.service这两个命令的作用是一样的,前者是后者的简写形式

与早期命令的兼容

除了 systemctl 命令外,Linux 也支持类似于 /etc/init.d/ 或 service 的方式管理服务,如以下示例:

代码语言:javascript
复制
/etc/init.d/mysql restart

service restart mysql

在实际使用中,可以理解为上述两种方式与 systemctl 的作用相同,这是因为 /etc/init.d/与service 命令是较旧的 Linux 发行版中 SystemV 的脚本方式,而 systemctl 命令是 systemd 服务管理器的命令,适用于较新的 Linux 发行版。推荐使用 systemctl 来代替旧有命令

我正在参与2023腾讯技术创作特训营第四期有奖征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 管理服务命令 systemctl
  • 与早期命令的兼容
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档