Systemd:
在CentOS 7中开始使用了Systemd,它取代了原来的SysVinit,我们在系统中查看,你会发现systemd这个进程的PID为1,而不是原来的init进程。systemd进程将作为所有进程的父进程运行,这就是在CentOS 7中的新的进程管理程序。
Systemd是Linux内核发起的第一个程序,通过上面的截图也可以印证这一点,而且它还扮演很多角色,它会启动系统服务、处理用户登陆、执行一些定时任务等。它变成了Linux的的一种基础系统。在启动过程中内核检查完硬件加载完基础驱动,就会运行systemd这个程序(原来是/sbin/init),这个程序会加载文件系统、其他驱动以及运行各种系统服务。
Systemd与之前的init最大的不同是引入了并行启动概念,之前的init进程是一个一个的启动其他进程的。Systemd会为每一个需要启动的守护进行建立一个套接字,这样不同进程就可以相互通信。Systemd创建进程并为每个进程分配一个控制组也就是CGroup,通过这个组来追踪进程。
日志文件:
另外在systemd中的一个变化就是日志变成二进制格式,它实际上是一个日志系统,它产生的日志你无法用文本编辑器查看,不过好处是记录的信息更全带有很多的元数据,可以很容易的进行内容过滤。比如查看日志可以用下面的命令
journalctl
默认将命令输出管道给了less程序,这样方便查看,不过它会输出所有日志。如果仅仅想看本次系统启动的日志呢:
journalctl-b
如果是上一次启动的日志呢:
journalctl-b-1
以此类推,-2就是上上次的。如果想看某一个时刻到现在的启动信息呢?
journalctl-b--since="2017-03-3117:00"
如何根据特定程序查看日志呢?
journalctl-uNginx.service