中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

shell中怎么根據進程查找指定容器

發布時間:2022-02-07 15:44:53 來源:億速云 閱讀:122 作者:iii 欄目:開發技術

本篇內容主要講解“shell中怎么根據進程查找指定容器”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“shell中怎么根據進程查找指定容器”吧!

當我們在一臺docker服務器上使用top命令定位出一個占用資源比較高的進程,如何發現它屬于哪一個容器。

1、首先獲取進程pid

shell中怎么根據進程查找指定容器

2、使用docker top命令查找容器pid

docker top 容器命或容器id

shell中怎么根據進程查找指定容器

當docker 容器過多時,一個一個排查對比費事費力,這里有一個腳本可以快速查找

#!/bin/bash
#將需要查找的pid輸入$1變量
#將所有容器的pid導入變量a
a=`docker ps -a |sed -n '1!p'|awk '{print $1}'`
#將容器id循環導入docker top命令,查找容器對應的pid
for b in $a
do
c=`docker top $b|sed -n '1!p'|awk '{print $2}'`
#經每一個容器的pid與輸入$1對比
if [ $c == $1 ] ; then
#輸出對應$1的容器信息
docker ps -a |grep $c
fi
done

補充:shell查找進程并終止

創建kill.sh文件,內容如下:

port=9200
#一、根據端口號查詢對應的pid,兩種都行
pid=$(netstat -nlp | grep :$port | awk '{print $7}' | awk -F"/" '{ print $1 }');
#pid=$(ps -ef | grep 你的進程或端口 | grep -v grep | awk '{print $2}')

#二、殺掉對應的進程,如果pid不存在,則不執行 
if [ -n "$pid" ]; then 
  kill -9 $pid; 
fi

    這個腳本其實就2步,先獲取進程id,然后 kill 掉這個進程。
(1)獲取進程id的方法
    這個可以用 awk命令來獲取

ps -ef | grep 你的進程 | grep -v grep | awk '{print $2}'

        這里要把這個grep這個用 -v 來過濾掉,然后用awk命令,提取第2個參數就是進程id了
(2)殺進程方法
     這個就直接kill -9 進程id 就ok了

kill -9 你的進程id

到此,相信大家對“shell中怎么根據進程查找指定容器”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

黎平县| 莆田市| 松滋市| 揭阳市| 大邑县| 嘉定区| 西乌珠穆沁旗| 白朗县| 汝南县| 宁陕县| 襄城县| 沙雅县| 宁化县| 沂水县| 曲沃县| 张家港市| 环江| 郓城县| 周至县| 阳曲县| 罗山县| 随州市| 达孜县| 城口县| 石渠县| 岢岚县| 丹东市| 临江市| 聂拉木县| 安顺市| 齐河县| 常州市| 句容市| 靖边县| 池州市| 青铜峡市| 崇明县| 石渠县| 库尔勒市| 集贤县| 金乡县|