安裝依賴包
yum install -y yum-utils device-mapper-persistent-data lvm2
添加Docker軟件包源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
關(guān)閉測(cè)試版本list(只顯示穩(wěn)定版)
sudo yum-config-manager --enable docker-ce-edge
sudo yum-config-manager --enable docker-ce-test
更新yum包索引
yum makecache fast
指定版本安裝
yum list docker-ce --showduplicates|sort -r
yum install docker-ce-17.09.0.ce -y
殺進(jìn)程
改進(jìn)1:
把ps的查詢結(jié)果通過(guò)管道給grep查找包含特定字符串的進(jìn)程饰剥。管道符“|”用來(lái)隔開(kāi)兩個(gè)命令幢踏,管道符左邊命令的輸出會(huì)作為管道符右邊命令的輸入块饺。
$ ps -ef | grep firefox
smx 1827 1 4 11:38 ? 00:27:33 /usr/lib/firefox-3.6.18/firefox-bin
smx 12029 1824 0 21:54 pts/0 00:00:00 grep --color=auto firefox
這次就清爽了。然后就是
$kill -s 9 1827
改進(jìn)2——使用pgrep:
一看到pgrep首先會(huì)想到什么藕溅?沒(méi)錯(cuò),grep!pgrep的p表明了這個(gè)命令是專門(mén)用于進(jìn)程查詢的grep锌介。
$ pgrep firefox
1827
看到了什么?沒(méi)錯(cuò)火狐的PID膀钠,接下來(lái)又要打字了:
$kill -s 9 1827
改進(jìn)3——使用pidof:
看到pidof想到啥掏湾?沒(méi)錯(cuò)pid of xx裹虫,字面翻譯過(guò)來(lái)就是 xx的PID。
$ pidof firefox-bin
1827
和pgrep相比稍顯不足的是融击,pidof必須給出進(jìn)程的全名筑公。然后就是老生常談:
$kill -s 9 1827
無(wú)論使用ps 然后慢慢查找進(jìn)程PID 還是用grep查找包含相應(yīng)字符串的進(jìn)程,亦或者用pgrep直接查找包含相應(yīng)字符串的進(jìn)程PID尊浪,然后手動(dòng)輸入給kill殺掉
改進(jìn)4:
$ps -ef | grep firefox | grep -v grep | cut -c 9-15 | xargs kill -s 9
說(shuō)明:
“grep firefox”的輸出結(jié)果是匣屡,所有含有關(guān)鍵字“firefox”的進(jìn)程。
“grep -v grep”是在列出的進(jìn)程中去除含有關(guān)鍵字“grep”的進(jìn)程拇涤。
“cut -c 9-15”是截取輸入行的第9個(gè)字符到第15個(gè)字符捣作,而這正好是進(jìn)程號(hào)PID。
“xargs kill -s 9”中的xargs命令是用來(lái)把前面命令的輸出結(jié)果(PID)作為“kill -s 9”命令的參數(shù)鹅士,并執(zhí)行該命令券躁。“kill -s 9”會(huì)強(qiáng)行殺掉指定進(jìn)程掉盅。
改進(jìn)5:
知道pgrep和pidof兩個(gè)命令也拜,干嘛還要打那么長(zhǎng)一串!
$ pgrep firefox | xargs kill -s 9
改進(jìn)6:
2}' | xargs kill -9
kill: No such process
有一個(gè)比較郁悶的地方趾痘,進(jìn)程已經(jīng)正確找到并且終止了慢哈,但是執(zhí)行完卻提示找不到進(jìn)程。
其中awk '{print $2}' 的作用就是打佑榔薄(print)出第二列的內(nèi)容卵贱。根據(jù)常規(guī)篇,可以知道ps輸出的第二列正好是PID侣集。就把進(jìn)程相應(yīng)的PID通過(guò)xargs傳遞給kill作參數(shù)键俱,殺掉對(duì)應(yīng)的進(jìn)程。
改進(jìn)7:
難道每次都要調(diào)用xargs把PID傳遞給kill世分?答案是否定的:
2}'`
改進(jìn)8:
沒(méi)錯(cuò)方妖,命令依然有點(diǎn)長(zhǎng),換成pgrep罚攀。
$kill -s 9 pgrep firefox
改進(jìn)9——pkill:
看到pkill想到了什么党觅?沒(méi)錯(cuò)pgrep和kill!pkill=pgrep+kill斋泄。
$pkill -9 firefox
說(shuō)明:"-9" 即發(fā)送的信號(hào)是9杯瞻,pkill與kill在這點(diǎn)的差別是:pkill無(wú)須 “s”,終止信號(hào)等級(jí)直接跟在 “-“ 后面炫掐。之前我一直以為是 "-s 9"魁莉,結(jié)果每次運(yùn)行都無(wú)法終止進(jìn)程。
改進(jìn)10——killall:
killall和pkill是相似的,不過(guò)如果給出的進(jìn)程名不完整,killall會(huì)報(bào)錯(cuò)旗唁。pkill或者pgrep只要給出進(jìn)程名的一部分就可以終止進(jìn)程畦浓。
$killall -9 firefox