循序漸進教你學運維-基礎命令篇-mv(2)

進程管理相關命令(15個)

1.bg:將一個在後臺暫停的命令,變成繼續執行 (在後臺執行)

2.fg:將後臺中的命令調至前臺繼續運行

3.jobs:查看當前有多少在後臺運行的命令

4.kill:終止進程

fg、bg、jobs、&、ctrl + z命令
一、 &
加在一個命令的最後,可以把這個命令放到後臺執行 ,如gftp &,
二、ctrl + z
可以將一個正在前臺執行的命令放到後臺,並且處於暫停狀態,不可執行
三、jobs
查看當前有多少在後臺運行的命令
jobs
-l選項可顯示所有任務的PID,jobs的狀態可以是running, stopped,
Terminated,但是如果任務被終止了(kill),shell
從當前的shell環境已知的列表中刪除任務的進程標識;也就是說,jobs命令顯示的是當前shell環境中所起的後臺正在運行或者被掛起的任務信息;
四、fg
將後臺中的命令調至前臺繼續運行
如果後臺中有多個命令,可以用 fg %jobnumber將選中的命令調出,%jobnumber是通過jobs命令查到的後臺正在執行的命令的序號(不是pid)
五、bg
將一個在後臺暫停的命令,變成繼續執行 (在後臺執行)
如果後臺中有多個命令,可以用bg %jobnumber將選中的命令調出,%jobnumber是通過jobs命令查到的後臺正在執行的命令的序號(不是pid)
將任務轉移到後臺運行:
先ctrl + z;再bg,這樣進程就被移到後臺運行,終端還能繼續接受命令。
概念:當前任務
如果後臺的任務號有2個,[1],[2];如果當第一個後臺任務順利執行完畢,第二個後臺任務還在執行中時,當前任務便會自動變成後臺任務號碼“[2]” 的後臺任務。所以可以得出一點,即當前任務是會變動的。當用戶輸入“fg”、“bg”和“stop”等命令時,如果不加任何引號,則所變動的均是當前任務進程的終止。
後臺進程的終止:
方法一:
通過jobs命令查看job號(假設爲num),然後執行kill %num
方法二:
通過ps命令查看job的進程號(PID,假設爲pid),然後執行kill pid
前臺進程的終止:
ctrl+c
kill的其他作用
kill除了可以終止進程,還能給進程發送其它信號,使用kill -l 可以察看kill支持的信號。
SIGTERM是不帶參數時kill發送的信號,意思是要進程終止運行,但執行與否還得看進程是否支持。如果進程還沒有終止,可以使用kill -SIGKILL pid,這是由內核來終止進程,進程不能監聽這個信號。
進程的掛起
後臺進程的掛起:
在solaris中通過stop命令執行,通過jobs命令查看job號(假設爲num),然後執行stop %num;
在redhat中,不存在stop命令,可通過執行命令kill -stop PID,將進程掛起;
當要重新執行當前被掛起的任務時,通過bg %num 即可將掛起的job的狀態由stopped改爲running,仍在後臺執行;當需要改爲在前臺執行時,執行命令fg %num即可;
前臺進程的掛起:ctrl+Z;

5.killall:通過進程名終止進程

killall命令使用進程的名稱來殺死進程,使用此指令可以殺死一組同名進程。我們可以使用kill命令殺死指定進程PID的進程,如果要找到我們需要殺死的進程,我們還需要在之前使用ps等命令再配合grep來查找進程,而killall把這兩個過程合二爲一,是一個很好用的命令。
語法
killall(選項)(參數)
選項
-e:對長名稱進行精確匹配;
-l:忽略大小寫的不同;
-p:殺死進程所屬的進程組;
-i:交互式殺死進程,殺死進程前需要進行確認;
-l:打印所有已知信號列表;
-q:如果沒有進程被殺死。則不輸出任何信息;
-r:使用正規表達式匹配要殺死的進程名稱;
-s:用指定的進程號代替默認信號“SIGTERM”;
-u:殺死指定用戶的進程。
參數
進程名稱:指定要殺死的進程名稱。

實例
殺死所有同名進程

killall vi

6.pkill:通過進程名終止進程

pkill命令可以按照進程名殺死進程。pkill和killall應用方法差不多,也是直接殺死運行中的程序。如果想殺掉單個進程,請用kill來殺掉。

語法格式:pkill [參數]

常用參數:

-o 僅向找到的最小(起始)進程號發送信號
-n 僅向找到的最大(結束)進程號發送信號
-P 指定父進程號發送信號
-g 指定進程組
-t 指定開啓進程的終端
參考實例

僅向找到的最小(起始)進程號發送信號:

[root@linuxcool ~]# pkill -o
僅向找到的最大(結束)進程號發送信號:

[root@linuxcool ~]# pkill -n
殺死Apache進程:

[root@linuxcool ~]# pkill httpd

7.crontab:定時任務命令

  在Linux中,週期執行的任務一般由cron這個守護進程來處理[ps -ef|grep cron]。cron讀取一個或多個配置文件,這些配置文件中包含了命令行及其調用時間。cron的配置文件稱爲“crontab”,是“cron table”的簡寫。當安裝完成操作系統後,默認會安裝此服務 工具,並且會自動啓動crond進程,crond進程每分鐘會定期檢查是否有要執行的任務,如果有要執行的任務,則自動執行該任務。cron可以讓系統在指定的時間,去執行某個指定的工作,我們可以使用crontab指令來管理cron機制。

Linux的任務調度機制主要分爲兩種:

  1. 執行一次:將在某個特定的時間執行的任務調度 at

  2. 執行多次: crontab

3.關機後恢復尚未執行的程序 anacron

關於at、crontab、anacron的基本使用:https://www.cnblogs.com/Downtime/p/8371838.html

一、cron服務
  cron是一個linux下 的定時執行工具,可以在無需人工干預的情況下運行作業。
  systemctl start crond //啓動服務
  systemctl stop crond //關閉服務
  systemctl restart crond //重啓服務
  systemctl reload crond //重新載入配置
  systemctl status crond //查看服務狀態

  crontab -l  //查看root用戶的crontab任務

  crontab -r  //刪除root用戶所有crontab任務

  crontab -u  //使用者名稱

二、cron在3個地方查找配置文件:
1、/var/spool/cron/ 這個目錄下存放的是每個用戶包括root的crontab任務,每個任務以創建者的名字命名,比如tom建的crontab任務對應的文件就是/var/spool/cron/tom。一般一個用戶最多隻有一個crontab文件。
2、/etc/crontab 這個文件負責安排由系統管理員制定的維護系統以及其他任務的crontab。cat /etc/crontab結果如下

在這裏插入圖片描述在這裏插入圖片描述
MAILTO=root:是說,當 /etc/crontab 這個檔案中的例行性命令發生錯誤時,會將錯誤訊息或者是屏幕顯示的訊息傳給誰?由於 root 並無法再用戶端收信,因此,我通常都將這個 e-mail 改成自己的賬號,好讓我隨時瞭解系統的狀態!
01 * * * * root run-parts /etc/cron.hourly:在 #run-parts 這一行以後的命令,我們可以發現,五個數字後面接的是 root ,這一行代表的是『執行的級別爲root身份』當然,你也可以將這一行改爲成其他的身份!而 run-parts代表後面接的 /etc/cron.hourly 是『一個目錄內(/etc/cron.hourly)的所有可執行文件』,也就是說,每個小時的01分,系統會以root身份去/etc/cron.hourly這個目錄下執行所有可執行的文件!後面三行也是類似的意思!你可以到 /etc/ 底下去看看,系統本來就預設了這4個目錄!你可以將每天需要執行的命令直接寫到/etc/cron.daily即可,還不需要使用到crontab -e的程式!
3、/etc/cron.d/ 這個目錄用來存放任何要執行的crontab文件或腳本。

三、cron時間格式說明

crontab時間格式說明
在這裏插入圖片描述

crontab範例
    每五分鐘執行  */5 * * * *
    每小時執行     0 * * * *
    每天執行        0 0 * * *
    每週執行       0 0 * * 0
    每月執行        0 0 1 * *
    每年執行       0 0 1 1 *

每12小時執行 0 */12 * * * (特別說明 */12中間沒有空格,其他每個字符間都有空格,切記,切記,不然格式報錯)

四、cron權限
設定cron的權限
/etc/cron.allow
/etc/cron.deny
系統首先判斷是否有cron.allow這個文件,如果有這個文件的話,系統會判斷這個使用者有沒有在cron.allow的名單裏面,如果在名單裏面的話,就可以使用cron機制。如果這個使用者沒有在cron.allow名單裏面的話,就不能使用cron機制。
如果系統裏面沒有cron.allow這個文件的話,系統會再判斷是否有cron.deny這個文件,如果有cron.deny這個文件的話,就會判斷這個使用者有沒有在cron.deny這個名單裏面,如果這個使用者在cron.deny名單裏面的話,將不能使用cron機制。如果這個使用者沒有在cron.deny這個名單裏面的話就可以使用cron機制。
crontab權限問題到/var/adm/cron/下一看,文件cron.allow和cron.deny是否存在
用法如下:
1、如果兩個文件都不存在,則只有root用戶才能使用crontab命令。
2、如果cron.allow存在但cron.deny不存在,則只有列在cron.allow文件裏的用戶才能使用crontab命令,如果root用戶也不在裏面,則root用戶也不能使用crontab。
3、如果cron.allow不存在, cron.deny存在,則只有列在cron.deny文件裏面的用戶不能使用crontab命令,其它用戶都能使用。
4、如果兩個文件都存在,則列在cron.allow文件中而且沒有列在cron.deny中的用戶可以使用crontab,如果兩個文件中都有同一個用戶,以cron.allow文件裏面是否有該用戶爲準,如果cron.allow中有該用戶,則可以使用crontab命令。

五、創建cron腳本
第一步:寫cron腳本文件,命名爲crontest.cron。
15,30,45,59 * * * * echo “xgmtest…” >> xgmtest.txt 表示,每隔15分鐘,執行打印一次命令
第二步:添加定時任務。執行命令 “crontab crontest.cron”。搞定
第三步:“crontab -l” 查看定時任務是否成功或者檢測/var/spool/cron下是否生成對應cron腳本
注意:這操作是直接替換該用戶下的crontab,而不是新增

也可以crontab -uroot -e編輯定時執行寫好腳本,例如crontab -uroot -e進入編輯頁面如下,/root/updatecode.sh爲腳本所在位置
在這裏插入圖片描述
六、crontab用法
  crontab命令用於安裝、刪除或者列出用於驅動cron後臺進程的表格。用戶把需要執行的命令序列放到crontab文件中以獲得執行。
每個用戶都可以有自己的crontab文件。/var/spool/cron下的crontab文件不可以直接創建或者直接修改。該crontab文件是通過crontab命令創建的
  在crontab文件中如何輸入需要執行的命令和時間。該文件中每行都包括六個域,其中前五個域是指定命令被執行的時間,最後一個域是要被執行的命令。
每個域之間使用空格或者製表符分隔。格式如下:
  minute hour day-of-month month-of-year day-of-week commands
合法值 00-59 00-23 01-31 01-12 0-6 (0 is sunday)
除了數字還有幾個個特殊的符號就是"*"、"/“和”-"、",",*代表所有的取值範圍內的數字,"/“代表每的意思,”/5"表示每5個單位,"-“代表從某個數字到某個數字,”,"分開幾個離散的數字。
-l 在標準輸出上顯示當前的crontab。
  -r 刪除當前的crontab文件。
  -e 使用VISUAL或者EDITOR環境變量所指的編輯器編輯當前的crontab文件。當結束編輯離開時,編輯後的文件將自動安裝。

七、例子:
每天早上6點
0 6 * * * echo “Good morning.” >> /tmp/test.txt //注意單純echo,從屏幕上看不到任何輸出,因爲cron把任何輸出都email到root的信箱了。
每兩個小時 (特別說明 */2中間沒有空格,其他每個字符間都有空格,切記,切記,不然格式報錯)
0 */2 * * * echo “Have a break now.” >> /tmp/test.txt
晚上11點到早上8點之間每兩個小時和早上八點
0 23-7/2,8 * * * echo “Have a good dream” >> /tmp/test.txt
每個月的4號和每個禮拜的禮拜一到禮拜三的早上11點
0 11 4 * 1-3 command line
1月1日早上4點
0 4 1 1 * command line SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root //如果出現錯誤,或者有數據輸出,數據作爲郵件發給這個帳號 HOME=/
每小時執行/etc/cron.hourly內的腳本
01 * * * * root run-parts /etc/cron.hourly
每天執行/etc/cron.daily內的腳本
02 4 * * * root run-parts /etc/cron.daily
每星期執行/etc/cron.weekly內的腳本
22 4 * * 0 root run-parts /etc/cron.weekly
每月去執行/etc/cron.monthly內的腳本
42 4 1 * * root run-parts /etc/cron.monthly
注意: "run-parts"這個參數了,如果去掉這個參數的話,後面就可以寫要運行的某個腳本名,而不是文件夾名。  
每天的下午4點、5點、6點的5 min、15 min、25 min、35 min、45 min、55 min時執行命令。
5,15,25,35,45,55 16,17,18 * * * command
每週一,三,五的下午3:00系統進入維護狀態,重新啓動系統。
00 15 * * 1,3,5 shutdown -r +5
每小時的10分,40分執行用戶目錄下的innd/bbslin這個指令:
10,40 * * * * innd/bbslink
每小時的1分執行用戶目錄下的bin/account這個指令:
1 * * * * bin/account
每天早晨三點二十分執行用戶目錄下如下所示的兩個指令(每個指令以;分隔):
20 3 * * * (/bin/rm -f expire.ls logins.bad;bin/expireKaTeX parse error: Expected 'EOF', got '#' at position 1: #̲@62;expire.1st)…#@62;$#@62;mm.txt

8.ps:顯示進程的快照

進程一般存在幾種狀態,

1.運行(R) 正在運行或在運行隊列中等待。

2.睡眠(S) ,休眠中, 受阻, 在等待某個條件的形成或接受到信號,

3.僵死(Z),僵死一般是進程結束了,進程描述符還在,等着父進程調wait4.

4.停止(T) 進程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號後停止運行運行。

5.不可中斷(D), 收到信號不喚醒和不可運行, 進程必須等待直到有中斷髮生。

命令格式
ps [options]

ps常用命令參數及方法
(1)ps aux

可以列出當前系統所有內存當中的程序

root@ubuntu:~# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.7  24996  3624 ?        Ss   Apr14   0:05 /sbin/init auto noprompt
root         2  0.0  0.0      0     0 ?        S    Apr14   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    Apr14   0:02 [ksoftirqd/0]
root         5  0.0  0.0      0     0 ?        S<   Apr14   0:00 [kworker/0:0H]
root         7  0.0  0.0      0     0 ?        S    Apr14   0:05 [rcu_sched]
root         8  0.0  0.0      0     0 ?        S    Apr14   0:00 [rcu_bh]
root         9  0.0  0.0      0     0 ?        S    Apr14   0:00 [migration/0]
root        10  0.0  0.0      0     0 ?        S    Apr14   0:00 [watchdog/0]

其中

USER 用戶名
UID 用戶ID(User ID)
PID 進程ID(Process ID)
PPID 父進程的進程ID(Parent Process id)
SID 會話ID(Session id)
%CPU 進程的cpu佔用率
%MEM 進程的內存佔用率
VSZ 進程所使用的虛存的大小(Virtual Size)
RSS 進程使用的駐留集大小或者是實際內存的大小,Kbytes字節。
TTY 與進程關聯的終端(tty)
STAT 進程的狀態:進程狀態使用字符表示的(STAT的狀態碼)
R 運行 Runnable (on run queue) 正在運行或在運行隊列中等待。
S 睡眠 Sleeping 休眠中, 受阻, 在等待某個條件的形成或接受到信號。
I 空閒 Idle
Z 僵死 Zombie(a defunct process) 進程已終止, 但進程描述符存在, 直到父進程調用wait4()系統調用後釋放。
D 不可中斷 Uninterruptible sleep (ususally IO) 收到信號不喚醒和不可運行, 進程必須等待直到有中斷髮生。
T 終止 Terminate 進程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號後停止運行運行。
P 等待交換頁
W 無駐留頁 has no resident pages 沒有足夠的記憶體分頁可分配。
X 死掉的進程
< 高優先級進程 高優先序的進程
N 低優先 級進程 低優先序的進程
L 內存鎖頁 Lock 有記憶體分頁分配並縮在記憶體內
s 進程的領導者(在它之下有子進程);
l 多進程的(使用 CLONE_THREAD, 類似 NPTL pthreads)

  • 位於後臺的進程組
    START 進程啓動時間和日期
    TIME 進程使用的總cpu時間
    COMMAND 正在執行的命令行命令
    NI 優先級(Nice)
    PRI 進程優先級編號(Priority)
    WCHAN 進程正在睡眠的內核函數名稱;該函數的名稱是從/root/system.map文件中獲得的。
    FLAGS 與進程相關的數字標識

(2)過濾進程

過濾sshd

root@ubuntu:~# 
root@ubuntu:~# ps -aux | grep sshd
root       347  0.0  0.3   4540  1932 pts/19   S+   07:38   0:00 grep --color=auto sshd
root       818  0.0  0.1  10432   924 ?        Ss   Apr14   0:00 /usr/sbin/sshd -D
root     32269  0.0  0.9  13784  4580 ?        Ss   06:12   0:00 sshd: root@pts/19


(3)過濾用戶

root@ubuntu:~# ps -aux | grep zhouzh*
root       353  0.0  0.3   4540  2016 pts/19   S+   07:39   0:00 grep --color=auto zhouzh*
zhouzhe+  1070  0.0  0.4   6320  2292 ?        Ss   Apr14   0:00 /lib/systemd/systemd --user
zhouzhe+  1071  0.0  0.0   7520    12 ?        S    Apr14   0:00 (sd-pam)                
zhouzhe+  1103  0.0  0.7  48384  3688 ?        Sl   Apr14   0:00 /usr/bin/gnome-keyring-daemon --daemonize --login
zhouzhe+  1105  0.0  0.4   7788  2388 ?        Ss   Apr14   0:00 /sbin/upstart --user
zhouzhe+  1197  0.0  0.5   6740  2544 ?        Ss   Apr14   0:02 dbus-daemon --fork --session --address=unix:abstract=/tmp/dbus-OXyJ7Skafh
zhouzhe+  1198  0.0  0.0   6812    20 ?        S    Apr14   0:00 upstart-udev-bridge --daemon --user

(4)另外結合kill使用,通過ps查詢進程pid等,然後用kill命令殺死進程

絕殺進程,包括其子進程

kill -9 -pid

pid爲進程號

也可以

killall 進程名

先使用ps -ef | grep 進程號

查看有沒有父進程(PPID表示父進程),和子進程

再一個一個的把子進程和父進程都殺掉

kill -pid
init進程爲1

kill -9 -1 相當於關閉系統

9.pstree:樹形顯示進程

Linux系統中pstree命令的英文全稱是“process tree”,即將所有行程以樹狀圖顯示,樹狀圖將會以 pid (如果有指定) 或是以 init 這個基本行程爲根 (root),如果有指定使用者 id,則樹狀圖會只顯示該使用者所擁有的行程。

語法格式: pstree [參數]

常用參數:

-a 顯示每個程序的完整指令,包含路徑,參數或是常駐服務的標示
-c 不使用精簡標示法
-G 使用VT100終端機的列繪圖字符
-h 列出樹狀圖時,特別標明現在執行的程序
參考實例

顯示當前所有進程的進程號和進程id:

[root@linuxcool ~]# pstree -p
顯示所有進程的所有詳細信息,遇到相同的進程名可以壓縮顯示:

[root@linuxcool ~]# pstree -a

10.nice/renice:調整程序運行的優先級

1、一開始執行程序就指定nice值:nice
nice -n -5 /usr/local/mysql/bin/mysqld_safe &
linux nice 命令詳解

功能說明:設置優先權。

語  法:nice [-n <優先等級>][–help][–version][執行指令]

補充說明:nice指令可以改變程序執行的優先權等級。

參  數:-n<優先等級>或-<優先等級>或–adjustment=<優先等級>  設置欲執行的指令的優先權等級。等級的範圍從-20-19,其中-20最高,19最低,只有系統管理者可以設置負數的等級。
–help  在線幫助。
–version  顯示版本信息。

2.調整已存在進程的nice:renice
renice -5 -p 5200
#PID爲5200的進程nice設爲-5
linux renice 命令詳解

功能說明:調整優先權。

語  法:renice [優先等級][-g <程序羣組名稱>…][-p <程序識別碼>…][-u <用戶名稱>…]

補充說明:renice指令可重新調整程序執行的優先權等級。預設是以程序識別碼指定程序調整其優先權,您亦可以指定程序羣組或用戶名稱調整優先權等級, 並修改所有隸屬於該程序羣組或用戶的程序的優先權。等級範圍從-20–19,只有系統管理者可以改變其他用戶程序的優先權,也僅有系統管理者可以設置負數 等級。
參  數:
-g <程序羣組名稱>  使用程序羣組名稱,修改所有隸屬於該程序羣組的程序的優先權。
-p <程序識別碼>  改變該程序的優先權等級,此參數爲預設值。
-u <用戶名稱>  指定用戶名稱,修改所有隸屬於該用戶的程序的優先權。
也可以用top命令更改已存在進程的nice:
top
#進入top後按“r”–>輸入進程PID–>輸入nice值

11.nohup:忽略掛起信號運行指定的命令

nohup命令可以將程序以忽略掛起信號的方式運行起來,被運行的程序的輸出信息將不會顯示到終端。

無論是否將 nohup 命令的輸出重定向到終端,輸出都將附加到當前目錄的 nohup.out 文件中。如果當前目錄的 nohup.out 文件不可寫,輸出重定向到$HOME/nohup.out文件中。如果沒有文件能創建或打開以用於追加,那麼 command 參數指定的命令不可調用。如果標準錯誤是一個終端,那麼把指定的命令寫給標準錯誤的所有輸出作爲標準輸出重定向到相同的文件描述符。

語法
nohup(選項)(參數)

選項
–help:在線幫助;

–version:顯示版本信息。

參數
程序及選項:要運行的程序及選項。

實例
使用nohup命令提交作業,如果使用nohup命令提交作業,那麼在缺省情況下該作業的所有輸出都被重定向到一個名爲nohup.out的文件中,除非另外指定了輸出文件:

nohup command > myout.file 2>&1 &

12.pgrep:查找匹配條件的進程

作用:pgrep命令用於查找當前運行的進程,並列出匹配給定條件的進程的PID。所有的條件都必須匹配纔會被列出。

用法:pgrep[選項][程序名]

主要選項如下。

-l:列出程序名和進程ID。

-o:進程起始的ID。

-n:進程終止的ID。

應用實例如下。

用戶cao查看sshd的進程列表:

[cao@localhost@cao]$pgrep -l sshd

829 sshd

shell, 命令

13.runlevel:查看系統當前運行級別

【runlevel】查看操作系統運行級別

[root@gdy ~]# runlevel
N 3

啓動的服務不同:
運行級別:0-6
0:halt表示關機
1:single user mode單用戶模式,直接以管理員身份切入。相當於windows的安全模式(s,S,single)都可以表示該級別
2:multi user mode,no NFS 多用戶模式,啓動後由網絡功能,但啓動後不啓動網絡文件系統掛載。即no NFS
3:multi user mode,text mode 正常命令行輸入模式(通常用到的)
4:reserved保留級別,沒有定義
5:multi user mode,graphic mode 圖形界面模式
6:reboot表示重啓

14.init:切換運行級別

0 關機 3 字符界面 5 圖形化界面 6 重啓用的比較多

   0:幾乎所有進程都關閉,停機狀態

1:單用戶模式,root賬戶進行操作

2:多用戶,不能使用net file system,一般很少用

3:完全多用戶,一部分啓動,一部分不啓動,命令行界面

4:未使用、未定義的保留模式

5:圖形化,3級別中啓動的進程都啓動,並且會啓動一部分圖形界面進程。

6:停止所有進程,卸載文件系統,重新啓動

如果把默認運行級別設爲了6,會陷入無限重啓中。需要進入單用戶模式修改默認運行級別。

15.service:啓動、停止、重新啓動和關閉系統服務,還可以顯示所有系統服務的當前狀態

  1. Linux管理服務工具之service簡介

本文主要是講解service命令的功能與日常使用方法,該命令是紅帽兼容系列的發行版中用來控制系統服務的實用工具,它以啓動、停止、重新啓動和關閉系統服務,還可以顯示所有系統服務的當前狀態。注意CentOS7以後使用了systemctl工具來管理服務,不再使用service。

以下命令不適用於CentOS7

  1. 常用方式

2.1 啓動服務

service start

2.2 停止服務

service stop

2.3 重啓服務

service restart

原理是先停止再啓動

  1. 查看網絡服務的狀態

[root@zcwyou ~]# service network status

Configured devices:

lo eth0

Currently active devices:

lo eth0

Linux使用service命令查看某服務的狀態

  1. 重啓網絡服務
[root@zcwyou ~]# service network restart

Shutting down interface eth0: Device state: 3 (disconnected)[ OK ]

Shutting down loopback interface: [ OK ]

Bringing up loopback interface: [ OK ]

Bringing up interface eth0: Active connection state: activating

state: activated

Connection activated

​ [ OK ]


Linux重啓某服務

5. 停止網絡服務

[root@zcwyou ~]# service network stop

Shutting down interface eth0: Device state: 3 (disconnected)[ OK ]

Shutting down loopback interface: [ OK ]


Linux停止某服務
  1. 啓動網絡服務

[root@zcwyou ~]# service network start

Bringing up loopback interface: [ OK ]

Bringing up interface eth0: Active connection state: activating


state: activated

Connection activated


Linux使用service命令啓動服務

7. 重啓mysql服務

[root@zcwyou ~] service mysqld restart

stopping MySQL: [ OK ]

starting MySQL: [ OK ]

8.總結

Service命令用於管理程序的運行,該命令只適用CentOS6及更老的版本,CentOS7不建議使用該命令。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章