知道怎麼看系統資源之後,以及關閉我們不需要的進程之後
如果可以透過指令,自動幫我們關閉指令,不用自己手動輸入進程的 id,那該有多方便呀。
今天,搭配前面教學的內容,我們就來教大家怎麼做到這件事情!
首先,我們要先學 awk
這個指令
NAME
gawk - pattern scanning and processing language
這其實是一個很單純的語言,跟所有程式語言一樣,可以用來讀取內容、處理、輸出。
首先,我們複習一下前面我們學過的內容:ps aux
可以列出不同用戶不同終端機的進程。
接著,透過 grep
,我們可以找到我們想要的進程內容
ps aux | grep php
ec2-user 6609 34.3 3.0 239736 30668 ? R 2021 258440:07 /usr/bin/php8.0 -S 0.0.0.0:80 /var/www/html/server.php
ec2-user 12808 43.0 4.0 111520 40712 ? R 13:32 0:00 /usr/bin/php -d variables_order=EGPCS /var/www/html/artisan serve --host=0.0.0.0 --port=80
ec2-user 12820 0.0 0.0 119420 916 pts/0 S+ 13:33 0:00 grep --color=auto php
這邊我們可以看到,第二排的資料,就是我們之前要手動輸入的進程 id
接著,我們利用 awk
幫我們抓出第二排的資料
ps aux | grep php | awk '{print $2}'
6609
12808
12820
這樣!我們就取得所有的進程 id 囉!
最後,我們利用 xargs
這個指令,幫我們將前面的輸出轉換成kill
可以讀取的內容
NAME
xargs - build and execute command lines from standard input
用法如下
ps aux | grep php | awk '{print $2}' | xargs kill
這樣!我們就成功地將 awk
取出的進程 id 送到 kill
的參數內,讓他協助我們終止不需要的進程囉!
awk
作為一種語言,當然不只有 awk '{print $2}'
這麼簡單的使用方法,詳細資料可以看 man awk
或者網路搜尋看看。
相信各位讀者看到這裡,一定可以想到更多有趣的使用方式。
今天有關 awk
的用法就介紹到這邊,各位明天見!