阅读 226

systemd 进程管理详解

systemd管理的优势

1.最新系统都采用systemd管理(RedHat7,CentOS7,Ubuntu15...)
2.CentOS7 支持开机并行启动服务,显著提高开机启动效率
3.CentOS7关机只关闭正在运行的服务,而CentOS6,全部都关闭一次。
4.CentOS7服务的启动与停止不再使用脚本进行管理,也就是/etc/init.d下不在有脚本。
5.CentOS7使用systemd解决原有模式缺陷,比如原有service不会关闭程序产生的子进程。

systemd相关文件


systemd控制的相关文件CentOS6CentOS7
服务启动的脚本启动路径/etc/init.d/usr/lib/systemd/system
开机自启服务存放路径/etc/rcN.d/etc/systemd/system/multi-user.target.wants/
默认运行级别配置文件/etc/inittab/etc/systemd/system/default.target

CentOS7安装yum安装nginx的默认脚本启动路径

[root@gong ~]# ll /usr/lib/systemd/system/nginx.service
-rw-r--r-- 1 root root 618 Oct  3  2019 /usr/lib/systemd/system/nginx.service

CentOS7开机自启动所在的目录,该目录包含在该级别启动时自启动的服务

[root@gong ~]# ll /etc/systemd/system/multi-user.target.wants/

CentOS7默认运行级别的控制,把它链接到/usr/lib/systemd/system/下面的不同级别,可以实现对不同默认级别的更改

[root@gong ~]# ll /etc/systemd/system/default.target
lrwxrwxrwx 1 root root 41 Apr 23 15:56 /etc/systemd/system/default.target -> /usr/lib/systemd/system/multi-user.target


systemd相关命令


CentOS6systemd CentOS7作用
/etc/init.d/nginx startsystemctl start nginx启动nginx服务
/etc/init.d/nginx stopsystemctl stop nginx停止nginx服务
/etc/init.d/nginx statussystemctl status nginx查看nginx的状态
/etc/init.d/nginx restartsystemctl restart nginx重启nginx服务
/etc/init.d/nginx reloadsystemctl reload nginx不停止nginx服务,重新加载配置文件

systemctl is-active nginx判断nginx服务是否存活

systemctl mask nginx禁止运行服务

systemctl unmask nginx取消禁止运行服务

CentOS7启动服务

[root@gong ~]# systemctl start nginx

CentOS7关闭服务

[root@gong ~]# systemctl stop nginx

CentOS7查看服务状态

[root@gong ~]# systemctl status nginx
● nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
   Active: inactive (dead) since Sat 2020-04-25 08:55:55 CST; 12s ago
  Process: 7063 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
  Process: 7060 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
  Process: 7056 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
 Main PID: 7064 (code=exited, status=0/SUCCESS)

Apr 25 08:55:44 gong systemd[1]: Starting The nginx HTTP and reverse proxy server...
Apr 25 08:55:45 gong nginx[7060]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Apr 25 08:55:45 gong nginx[7060]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Apr 25 08:55:45 gong systemd[1]: Started The nginx HTTP and reverse proxy server.
Apr 25 08:55:55 gong systemd[1]: Stopping The nginx HTTP and reverse proxy server...
Apr 25 08:55:55 gong systemd[1]: Stopped The nginx HTTP and reverse proxy server.

Centos7重启服务

[root@gong ~]# systemctl restart nginx

CentOS7不重启服务重新加载配置文件

[root@gong ~]# systemctl reload nginx

CentOS7检查服务是否启动

[root@gong ~]# systemctl is-active nginx
active

禁止取消服务运行

[root@gong ~]# systemctl mask nginx
Created symlink from /etc/systemd/system/nginx.service to /dev/null.
[root@gong ~]# systemctl unmask nginx
Removed symlink /etc/systemd/system/nginx.service.


systemd开机自启动相关命令


CentOS6CentOS7作用
chkconfig --listsystemctl list-unit-files查看开机自启的服务
chkconfig nginx onsystemctl enable nginx开机自启
chkconfig nginx offsystemctl disable nginx关闭开机自启
chkconfig --list nginxsystemctl is-enabled nginx查看指定的服务是否被开启
chkconfig --add nginxsystemctl daemon-reload当手写脚本的时候让系统认识

CentOS7查看开机自启动

[root@gong ~]# systemctl list-unit-files

CentOS7设置开机自启,实质上实在创建软链接

[root@gong ~]# systemctl  enable nginx
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.

CentOS7关闭开机自启

[root@gong ~]# systemctl disable nginx
Removed symlink /etc/systemd/system/multi-user.target.wants/nginx.service.

CentOS7查看指定的服务是否被开启

[root@gong ~]# systemctl is-enabled nginx
disabled


systemd服务状态


服务状态状态说明
loaded服务单元的配置文件已经被处理
active(running)服务的一个或多个进程在运行中
active(exited)一次性运行的服务成功被执行并退出(服务运行后完成任务,相关进程会自动退出)
active(waiting)服务已经运行但在等待某个事件
inactive服务没有在运行
enable服务设定为开机运行
disabled服务设定为开机不运行
static服务不能被设定开机启动,但可以由其他服务启动该服务


文章分类
后端
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐