zoukankan      html  css  js  c++  java
  • linux查询进程号,出现两个进程

    [root@ADM01B ~]# ps -ef|grep iesmgr
    root      5929  5321  0 09:38 pts/7    00:00:00 grep iesmgr
    root      9798     1  0 Jun28 ?        00:00:05 iesmgr
    [root@ADM01B ~]# kill -9 5929
    -bash: kill: (5929) - 没有那个进程
    [root@ADM01B ~]# kill -9 9798
    [root@ADM01B ~]# 
    

    当我在linux系统下查询某个程序的进程时出现两个进程,进程号分别为5929和9798
    我想把该进程杀掉 kill -9 5929,但是显示没有那个进程,然后我又杀掉9798这个进程kill -9 9798,成功杀掉了。

    对此现象疑惑不解。为啥有这个进程,kill的时候有显示没有。
    最后通过查资料知道,ps -ef|grep iesmgr命令其实是分两步完成的。第一步执行ps -ef查询所有进程,第二步执行grep iesmgr过滤出进程中带有iesmgr关键字的进程

    这样就出现了一个问题:其中grep iesmgr这个命令本身执行的时候也是个进程,并且也带有关键字iesmgr。所以也会显示出来,这其实是grep进程,而不是iesmgr进程。grep进程在命令执行完之后就结束了,所以kill该进程的时候显示-bash: kill: (5929) - 没有那个进程

    如果不想显示grep进程怎么办,可以使用下面的命令:
    # ps -ef|grep iesmgr |grep -v grep

    grep的-v参数是取反,也就是说grep -v grep是过滤掉那些带grep关键字进程,即把grep iesmgr这个进程过滤掉。


    补充:

    1. ps命令
      ps [选项]
      下面对命令选项进行说明:
      -e 显示所有进程。
      -f 全格式。
      -h 不显示标题。
      -l 长格式。
      -w 宽输出。
      a 显示终端上的所有进程,包括其他用户的进程。
      r 只显示正在运行的进程。
      u  以用户为主的格式来显示程序状况。
      x 显示所有程序,不以终端机来区分。

    2. grep命令
      grep [options]
      [options]主要参数:
      -c:只输出匹配行的计数。
      -I:不区分大 小写(只适用于单字符)。
      -h:查询多文件时不显示文件名。
      -l:查询多文件时只输出包含匹配字符的文件名。
      -n:显示匹配行及 行号。
      -s:不显示不存在或无匹配文本的错误信息。
      -v:显示不包含匹配文本的所有行。

    您的资助是我最大的动力!
    金额随意,欢迎来赏!

  • 相关阅读:
    Spark Shuffle FetchFailedException解决方案
    Spark常见问题汇总
    网络表示学习介绍
    Graph Embedding: metapath2vec算法
    spark参数介绍
    spark文章
    集群运行Spark程序实例讲解
    基于Spark UI性能优化与调试——初级篇
    Spark Shuffle FetchFailedException
    没有指针的java语言
  • 原文地址:https://www.cnblogs.com/Corphish/p/7097369.html
Copyright © 2011-2022 走看看