美文网首页
一个简单的自动kill的脚本

一个简单的自动kill的脚本

作者: _Gaara_ | 来源:发表于2020-08-12 09:04 被阅读0次
pidName="docker logs"
ID=`ps -ef | grep "$pidName" | grep -v "grep" | awk '{print $2}'` 
if [ -z "$ID" ] ; then
    kill -9 $ID
fi
echo '200'

简单对shell解释一下。

  • awk是对得出的结果进行一个按组排列,大概就等于将输出内容转化成一个数组, $2就是输出第二个内容。
    比如
root      8116  8044  0 Jan19 ?        00:00:00 mysql
polkitd  11763 11748  0 Jul27 ?        00:29:11 mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
polkitd  16270 15912  0 Jan19 ?        00:00:00 /bin/sh /usr/bin/mysqld_safe
polkitd  16432 16270  0 Jan19 ?        02:34:12 /usr/sbin/mysqld --basedir=/usr --datadir

得到的内容就是

[root]# ps -ef |grep mysql | grep -v "grep" | awk '{print $5}'
Jan19
Jul27
Jan19
Jan19

  • | grep -v "grep" -v就是一个排除,就是排除带有grep关键字的内容,因为在linux里任何一个命令都是有自己的进程的,即便你用一个命令去查询另一个命令,所以要将自己的进程排除出去

相关文章

网友评论

      本文标题:一个简单的自动kill的脚本

      本文链接:https://www.haomeiwen.com/subject/iynjrktx.html