Linux系统服务器停服,Linux系统服务启动和停止
systemd 是在Linux上運行服務的新方式。 systemd 有一個被替代的 sysvinit 。 systemd
為Linux帶來更快的啟動時間,現在是管理Linux服務的標準方式。雖然穩定, systemd 仍在不斷發展。
systemd 作為init系統,用于管理Linux內核引導后需要更改狀態的服務和守護進程。通過狀態改變開始,停止,重新加載和調整服務狀態被應用。
首先,我們來檢查當前在我們的服務器上運行的systemd的版本。
[centos@localhost ~]$ systemctl --version
systemd 219
+PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP
+GCRYPT +GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID +ELFUTILS +KMOD +IDN
[centos@localhost ~]$
從CentOS版本7開始,在編寫本系統時219完全更新了當前的穩定版本。
我們還可以使用 systemd-analyze 分析上次服務器啟動時間 __
[centos@localhost ~]$ systemd-analyze
Startup finished in 1.580s (kernel) + 908ms (initrd) + 53.225s (userspace) = 55.713s
[centos@localhost ~]$
當系統啟動時間較慢時,我們可以使用 systemd-analyze blame 命令。
[centos@localhost ~]$ systemd-analyze blame
40.882s kdump.service
5.775s NetworkManager-wait-online.service
4.701s plymouth-quit-wait.service
3.586s postfix.service
3.121s systemd-udev-settle.service
2.649s tuned.service
1.848s libvirtd.service
1.437s network.service
875ms packagekit.service
855ms gdm.service
514ms firewalld.service
438ms rsyslog.service
436ms udisks2.service
398ms sshd.service
360ms boot.mount
336ms polkit.service
321ms accounts-daemon.service
在使用 systemd時 ,理解 單元 的概念很重要。 單位 是 系統 知道如何解釋的資源。單位分為以下12種類型 -
.service
.socket
.device
.mount
.automount
.swap
.target
.path
.timer
.snapshot
.slice
.scope
大多數情況下,我們將以.service作為單位目標。建議對其他類型進一步研究。由于只有 服務 單位將適用于啟動和停止 系統 服務。
每個 單位 都是在一個文件中定義的 -
/lib/systemd/system - 基本單元文件
/etc/systemd/system - 修改后的單元文件在運行時啟動
使用systemctl管理服務
要使用 systemd ,我們需要非常熟悉 systemctl 命令。以下是 systemctl 最常用的命令行開關。
參數
動作
-t
單位類型的逗號分隔值,如服務或套接字
-a
顯示所有加載的單位
--state
顯示處于已定義狀態的所有設備:負載,子設備,活動設備,非活動設備等。
-H
遠程執行操作。指定由@分隔的主機名或主機和用戶。
基本的systemctl用法
systemctl [operation]
example: systemctl --state [servicename.service]
快速查看我們的盒子上運行的所有服務。
[root@localhost rdc]# systemctl -t service
UNIT LOAD ACTIVE SUB DESCRIPTION
abrt-ccpp.service loaded active exited Install ABRT coredump hook
abrt-oops.service loaded active running ABRT kernel log watcher
abrt-xorg.service loaded active running ABRT Xorg log watcher
abrtd.service loaded active running ABRT Automated Bug Reporting Tool
accounts-daemon.service loaded active running Accounts Service
alsa-state.service loaded active running Manage Sound Card State (restore and store)
atd.service loaded active running Job spooling tools
auditd.service loaded active running Security Auditing Service
avahi-daemon.service loaded active running Avahi mDNS/DNS-SD Stack
blk-availability.service loaded active exited Availability of block devices
bluetooth.service loaded active running Bluetooth service
chronyd.service loaded active running NTP client/server
停止服務
首先,停止藍牙服務。
[root@localhost]# systemctl stop bluetooth
[root@localhost]# systemctl --all -t service | grep bluetooth
bluetooth.service loaded inactive dead Bluetooth service
[root@localhost]#
正如我們所看到的,藍牙服務現在處于非活動狀態。
再次啟動藍牙服務。
[root@localhost]# systemctl start bluetooth
[root@localhost]# systemctl --all -t service | grep bluetooth
bluetooth.service loaded active running Bluetooth service
[root@localhost]#
注意 - 我們沒有指定bluetooth.service,因為 隱含了 .service 。考慮附加我們正在處理的服務的 單元類型
是一個好習慣。所以,從這里開始,我們將使用 .service 擴展來闡明我們正在開展的服務單元操作。
可以在服務上執行的主要操作是 -
Start
開始服務
Stop
停止服務
Reload
重新加載沒有停止它的服務的活動配置(如在系統v init中kill -HUP)
Restart
啟動,然后停止服務
Enable
在啟動時啟動服務
Disable
阻止服務在運行時自動啟動
以上操作主要用于以下場景
Start
將服務置于停止狀態。.
Stop
要暫時關閉服務(例如,必須停止服務才能訪問服務鎖定的文件,就像升級服務時一樣)
Reload
在編輯配置文件時,我們希望在不停止服務的同時應用新更改。
Restart
在與重新加載相同的情況下,但該服務不支持重新加載。
Enable
當我們希望禁用的服務在啟動時運行。
Disable
主要用于有需要停止服務時,但在啟動時啟動。
檢查服務的狀態
[root@localhost]# systemctl status network.service
network.service - LSB: Bring up/down networking
Loaded: loaded (/etc/rc.d/init.d/network; bad; vendor preset: disabled)
Active: active (exited) since Sat 2017-01-14 04:43:48 EST; 1min 31s ago
Docs: man:systemd-sysv-generator(8)
Process: 923 ExecStart = /etc/rc.d/init.d/network start (code=exited, status = 0/SUCCESS)
localhost.localdomain systemd[1]: Starting LSB: Bring up/down networking...
localhost.localdomain network[923]: Bringing up loopback interface: [ OK ]
localhost.localdomain systemd[1]: Started LSB: Bring up/down networking.
[root@localhost]#
向我們展示 網絡 服務的當前狀態。如果我們想看到所有與網絡相關的服務,我們可以使用 -
[root@localhost]# systemctl --all -t service | grep -i network
network.service loaded active exited LSB: Bring up/
NetworkManager-wait-online.service loaded active exited Network Manager
NetworkManager.service loaded active running Network Manager
ntpd.service loaded inactive dead Network Time
rhel-import-state.service loaded active exited Import network
[root@localhost]#
對于那些熟悉管理服務的 sysinit 方法的人來說,轉換到 systemd 是很重要的。 systemd
是在Linux中啟動和停止守護程序服務的新方式。
總結
以上是生活随笔為你收集整理的Linux系统服务器停服,Linux系统服务启动和停止的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: mask属性是css3的吗_使用CSS3
- 下一篇: 李宏毅机器学习(七)GPT的野望
