sysTemd   发布时间:2019-10-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了linux systemctl 命令大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

@H_675_26@

@H_675_26@

@H_675_26@

$ systemctl --version

linux systemctl 命令

$ systemctl

linux systemctl 命令

linux systemctl 命令

linux systemctl 命令

linux systemctl 命令

start:立刻启动后面接的 unit。stop:立刻关闭后面接的 unit。restart:立刻关闭后启动后面接的 unit,亦即执行 stop 再 start 的意思。reload:不关闭 unit 的情况下,重新载入配置文件,让设置生效。enable:设置下次开机时,后面接的 unit 会被启动。disable:设置下次开机时,后面接的 unit 不会被启动。status:目前后面接的这个 unit 的状态,会列出有没有正在执行、开机时是否启动等信息。is-active:目前有没有正在运行中。is-enable:开机时有没有默认要启用这个 unit。kill :不要被 kill 这个名字吓着了,它其实是向运行 unit 的进程发送信号。show:列出 unit 的配置。@mask:注销 unit,注销后你就无法启动这个 unit 了。unmask:取消对 unit 的注销。@H_675_26@

s.service 来观察服务类型 unit 的基本信息:@H_675_26@

title="linux systemctl 命令" alt="linux systemctl 命令" src="https://cn.js-code.com/res/2019/02-09/09/79079270b8323dd9c7e05c795514bc98.png" >@H_675_26@@H_675_26@@H_675_26@

s.service。第三行 中的 Active 描述服务当前的状态,active (running) 表示服务正在运行中。如果是 inactive (dead) @H_675_26@

关于 unit 的启动状态,除了 enable 和 disable 之外还有:static:这个 unit 不可以自己启动,不过可能会被其它的 enabled 的服务来唤醒。@mask:这个 unit 无论如何都无法被启动!因为已经被强制注销。可通过 systemctl unmask 改回原来的状态。@H_675_26@

关于 unit 的运行状态 Active,除了 active 和 inactive 之外还有:active (exited):仅执行一次就正常结束的服务,目前并没有任何程序在系统中执行。举例来说,开机或者是挂载时才会进行一次的 quotaon 功能,就是这种模式! Quotaon 不需要一直执行,只在执行一次之后,就交给文件系统去自行处理。通常用 bash sHell 写的小型服务,大多是属于这种类型。active (waiTing):正在执行当中,不过还再等待其他的事件才能继续处理。举例来说,打印的相关服务就是这种状态。@H_675_26@

s.service,然后执行 enable 命令:@H_675_26@

$ systemctl enable prometheus.service

title="linux systemctl 命令" alt="linux systemctl 命令" src="https://cn.js-code.com/res/2019/02-09/09/a592bf9b165435c3132ac4077845142e.png" >@H_675_26@@H_675_26@@H_675_26@

@H_675_26@

title="linux systemctl 命令" alt="linux systemctl 命令" src="https://cn.js-code.com/res/2019/02-09/09/976a1efbc190d4e3427e5aa2fe5eedbc.png" >@H_675_26@@H_675_26@@H_675_26@

s.server 文件中的配置信息决定的。@H_675_26@

@H_675_26@

$ systemctl show prometheus.service

title="linux systemctl 命令" alt="linux systemctl 命令" src="https://cn.js-code.com/res/2019/02-09/09/b52b97db81c4b81cb22e0713251e7b3d.png" >@H_675_26@@H_675_26@@H_675_26@

@H_675_26@

s.service,可以注销这个 unit,注销之后就无法再启动这个服务了:@H_675_26@

$ systemctl mask prometheus.service

title="linux systemctl 命令" alt="linux systemctl 命令" src="https://cn.js-code.com/res/2019/02-09/09/d9aa5cbf37ff7e79c820d28a5d66d1e6.png" >@H_675_26@@H_675_26@@H_675_26@

我们可以看到,所谓的注销就是把 prometheus.service 文件链接到 /dev/null 这个空设备中去了。所以就无法再启动该服务了。下面我们尝试执行一次反注销:@H_675_26@

$ systemctl unmask prometheus.service

title="linux systemctl 命令" alt="linux systemctl 命令" src="https://cn.js-code.com/res/2019/02-09/09/b408f400fceb73da2f63fd3bc60e61c1.png" >@H_675_26@@H_675_26@@H_675_26@

@H_675_26@

list-units:列出当前已经启动的 unit,如果添加 -all 选项会同时列出没有启动的 unit。list-unit-files:根据 /lib/systemd/system/ 目录内的文件列出所有的 unit。--type=TYPE:可以过滤某个类型的 unit。

linux systemctl 命令

$ systemctl list-unit-files

linux systemctl 命令

$ systemctl list-units --type=service --all

--type=mount 就可以了:

linux systemctl 命令

$ systemctl --failed

linux systemctl 命令

--type=target 就可以用 systemctl list-units 命令查看系统中默认有多少种 target:@H_675_26@

title="linux systemctl 命令" alt="linux systemctl 命令" src="https://cn.js-code.com/res/2019/02-09/09/aef6823b938a5797849b41b61ce3c52b.png" >@H_675_26@@H_675_26@@H_675_26@

graphical.target:就是文字界面再加上图形界面,这个 target 已经包含了下面的 multi-user.target。@multi-user.target:纯文本模式!rescue.target:在无法使用 root 登陆的情况下,systemd 在开机时会多加一个额外的临时系统,与你原本的系统无关。这时你可以取得 root 的权限来维护你的系统。emergency.target:紧急处理系统的错误,在无法使用 rescue.target 时,可以尝试使用这种模式!shutdown.target:就是执行关机。getty.target:可以设置 tty 的配置。l.target 两个,救援方面的模式主要是 rescue.target 以及更严重的 emergency.target。如果要修改可提供登陆的 tty 数量,则修改 getty.target。@H_675_26@

systemctl [command] [unit.target] get-default:取得目前的 target。set-default:设置后面接的 target 成为默认的操作模式。isolate:切换到后面接的模式。@H_675_26@

@H_675_26@

$ systemctl get-default

title="linux systemctl 命令" alt="linux systemctl 命令" src="https://cn.js-code.com/res/2019/02-09/09/63c3dbb1a9ee706a1824e1a549f7f705.png" >@H_675_26@@H_675_26@@H_675_26@

l.target,所以启动时默认启动图形界面。下面我们把它设置为 multi-user.target:@H_675_26@

$ systemctl set-default multi-user.target

title="linux systemctl 命令" alt="linux systemctl 命令" src="https://cn.js-code.com/res/2019/02-09/09/5c7a804eef7932491b35983e7d6b096f.png" >@H_675_26@@H_675_26@@H_675_26@

@H_675_26@

@H_675_26@

$ systemctl isolate multi-user.target

便起见,systemd 也提供了@H_675_26@

$ systemctl emergency # 强制进入紧急救援模式

suspend:暂停模式会将系统的状态保存到内存中,然后关闭掉大部分的系统硬件,当然,并没有实际关机。当用户按下唤醒机器的按钮,系统数据会从内存中回复,然后重新驱动被大部分关闭的硬件,所以唤醒系统的速度比较快。hibernate:休眠模式则是将系统状态保存到硬盘当中,保存完毕后,将计算机关机。当用户尝试唤醒系统时,系统会开始正常运行,然后将保存在硬盘中的系统状态恢复回来。因为数据需要从硬盘读取,因此唤醒的速度比较慢(如果你使用的是 SSD 磁盘,唤醒的速度也是非常快的)。@H_675_26@

systemctl list-dependencies [unit] [--reverse]       选项 --reverse 会反向追踪是谁在使用这个 unit。

linux systemctl 命令

$ systemctl list-dependencies multi-user.target --reverse

linux systemctl 命令

graphical.target 依赖 multi-user.target。

/lib/systemd/system/ 大多数 unit 的配置文件都放在这个目录下。 /run/systemd/system/ 系统运行过程中产生的脚本,比如用户相关的脚本和会话相关的脚本。/etc/systemd/system/ 这个目录中主要的文件都是指向 /lib/systemd/system/ 目录中的链接文件。@H_675_26@

@H_675_26@

@H_675_26@

$ systemctl list-sockets

title="linux systemctl 命令" alt="linux systemctl 命令" src="https://cn.js-code.com/res/2019/02-09/09/8f348f143581bc495be65b84b3af7e32.png" >@H_675_26@@H_675_26@@H_675_26@

@H_675_26@

@H_675_26@

考:@H_675_26@

大佬总结

以上是大佬教程为你收集整理的linux systemctl 命令全部内容,希望文章能够帮你解决linux systemctl 命令所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:
猜你在找的sysTemd相关文章