Linux 服务控制与运行级别

匿名 (未验证) 提交于 2019-12-02 21:56:30

如何控制服务的运行状态?如何切换不同的运行级别?


ntsysv

  • 仿图形交互界面,集中配置各种服务启动状态

--level 35:同时对指定运行级别中的服务进行管理,不加仅管理当前运行级别中的服务。

[root@localhost ~]# ntsysv --level 35

systemctl

  • systemctl {选项} name.servive

start:启动
stop:停止

[root@localhost ~]# systemctl start httpd.service [root@localhost ~]# systemctl stop httpd.service

restart:重启,先停止,再启动
reload:重新加载配置文件,不会完全停止和启动服务

[root@localhost ~]# systemctl restart httpd.service [root@localhost ~]# systemctl reload httpd.service

status:状态
is-active:是否启动成功
is-failed:是否启动失败

[root@localhost ~]# systemctl status httpd.service ● httpd.service - The Apache HTTP Server    Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)    Active: active (running) since Tue 2019-08-27 17:31:39 CST; 40s ago      Docs: man:httpd(8)            man:apachectl(8)   Process: 8833 ExecReload=/usr/sbin/httpd $OPTIONS -k graceful (code=exited, status=0/SUCCESS)  Main PID: 8821 (httpd)    Status: "Total requests: 0; Current requests/sec: 0; Current traffic:   0 B/sec"    CGroup: /system.slice/httpd.service            ├―8821 /usr/sbin/httpd -DFOREGROUND            ├―8835 /usr/sbin/httpd -DFOREGROUND            ├―8836 /usr/sbin/httpd -DFOREGROUND            ├―8837 /usr/sbin/httpd -DFOREGROUND            ├―8838 /usr/sbin/httpd -DFOREGROUND            └―8839 /usr/sbin/httpd -DFOREGROUND  Aug 27 17:31:39 localhost.localdomain systemd[1]: Starting The Apache HTTP Server... Aug 27 17:31:39 localhost.localdomain httpd[8821]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.l...s message Aug 27 17:31:39 localhost.localdomain systemd[1]: Started The Apache HTTP Server. Aug 27 17:31:45 localhost.localdomain httpd[8833]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.l...s message Aug 27 17:31:45 localhost.localdomain systemd[1]: Reloaded The Apache HTTP Server. Hint: Some lines were ellipsized, use -l to show in full.
[root@localhost ~]# systemctl is-active httpd.service active [root@localhost ~]# systemctl is-failed httpd.service active

enable:开机自启
disable:关闭开机自启
is-enabled:是否开机自启

[root@localhost ~]# systemctl enable httpd.service Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service. [root@localhost ~]# systemctl disable httpd.service Removed symlink /etc/systemd/system/multi-user.target.wants/httpd.service. [root@localhost ~]# systemctl is-enabled httpd.service disabled

list-dependencies:查看依赖关系

[root@localhost ~]# systemctl list-dependencies httpd.service httpd.service ● ├―-.mount ● ├―system.slice ● └―basic.target ●   ├―microcode.service ●   ├―rhel-autorelabel-mark.service ●   ├―rhel-autorelabel.service ●   ├―rhel-configure.service ●   ├―rhel-dmesg.service ●   ├―rhel-loadmodules.service ●   ├―selinux-policy-migrate-local-changes@targeted.service ●   ├―paths.target ●   ├―slices.target ●   │ ├―-.slice ●   │ └―system.slice ●   ├―sockets.target ●   │ ├―dbus.socket ●   │ ├―dm-event.socket ●   │ ├―systemd-initctl.socket ●   │ ├―systemd-journald.socket ●   │ ├―systemd-shutdownd.socket ●   │ ├―systemd-udevd-control.socket ●   │ └―systemd-udevd-kernel.socket ●   ├―sysinit.target ●   │ ├―dev-hugepages.mount ●   │ ├―dev-mqueue.mount ●   │ ├―kmod-static-nodes.service ●   │ ├―lvm2-lvmetad.socket ●   │ ├―lvm2-lvmpolld.socket ●   │ ├―lvm2-monitor.service ●   │ ├―plymouth-read-write.service ●   │ ├―plymouth-start.service ●   │ ├―proc-sys-fs-binfmt_misc.automount ●   │ ├―sys-fs-fuse-connections.mount ●   │ ├―sys-kernel-config.mount ●   │ ├―sys-kernel-debug.mount ●   │ ├―systemd-ask-password-console.path ●   │ ├―systemd-binfmt.service ●   │ ├―systemd-firstboot.service ●   │ ├―systemd-hwdb-update.service ●   │ ├―systemd-journal-catalog-update.service ●   │ ├―systemd-journal-flush.service ●   │ ├―systemd-journald.service ●   │ ├―systemd-machine-id-commit.service ●   │ ├―systemd-modules-load.service ●   │ ├―systemd-random-seed.service ●   │ ├―systemd-sysctl.service ●   │ ├―systemd-tmpfiles-setup-dev.service ●   │ ├―systemd-tmpfiles-setup.service ●   │ ├―systemd-udev-trigger.service ●   │ ├―systemd-udevd.service ●   │ ├―systemd-update-done.service ●   │ ├―systemd-update-utmp.service ●   │ ├―systemd-vconsole-setup.service ●   │ ├―cryptsetup.target ●   │ ├―local-fs.target ●   │ │ ├―-.mount ●   │ │ ├―boot.mount ●   │ │ ├―rhel-import-state.service ●   │ │ ├―rhel-readonly.service ●   │ │ └―systemd-remount-fs.service ●   │ └―swap.target ●   │   └―dev-mapper-centos\x2dswap.swap ●   └―timers.target ●     └―systemd-tmpfiles-clean.timer

mask:屏蔽服务
unmak:取消屏蔽

  • 主要使用于相互冲突的服务,屏蔽后,不会被其他的systemd单元启动,也无法被手动启动。例如iptablesfirewalld就是互相冲突的。
[root@localhost ~]# systemctl mask firewalld.service Created symlink from /etc/systemd/system/firewalld.service to /dev/null. [root@localhost ~]# systemctl unmask firewalld.service Removed symlink /etc/systemd/system/firewalld.service.

runlevel

  • 显示系统的运行级别
[root@localhost ~]# runlevel N 5

两种方法:

[root@localhost ~]# init 3
[root@localhost ~]# systemctl isolate multi-user.target

两种方法:

[root@localhost ~]# init 5
[root@localhost ~]# systemctl isolate graphical.target

1.查看默认启动target

[root@localhost ~]# systemctl get-default graphical.target

2.切换默认启动target,两种方法:

[root@localhost ~]# systemctl set-default multi-user.target Removed symlink /etc/systemd/system/default.target. Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target.
[root@localhost ~]# ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target

3.查看默认启动target

[root@localhost ~]# systemctl get-default multi-user.target
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!