精华内容
下载资源
问答
  • centos 杀死进程命令kill

    千次阅读 2018-06-08 15:25:00
    剩下的 hello2 和 hello3 进程,我们想一次性杀死他们,也就是批量杀死进程,可以如下操作: [root@centos test]$ killall hello* hello: no process found hello1: no process found hello.c: no ...

    Linux 系统中时刻运行着许多进程,如果能够合理地管理它们,则可以优化系统的性能。在Linux 系统中,有 5 种常见的进程状态,分别为运行、中断、不可中断、僵死与停止,其各自
    含义如下所示。
    ➢ R (运行)  :   进程正在运行或在运行队列中等待。
    ➢ S(中断)    :  进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该
    状态。
    ➢D(不可中断)   :  进程不响应系统异步信号,即便用 kill 命令也不能将其中断。
    ➢ Z(僵尸)  : 进程已经终止,但进程描述符依然存在, 直到父进程调用 wait4()系统函数
    后将进程释放。

    ➢  T(停止) : 进程收到停止信号后停止运行。

     

    kill命令用于终止指定的进程,其工作原理是通过向进程发送指定的信号。

    基本格式 kill [params] [pid]

    常用的是:

     

    kill -9 pid //强制终止

    • -1 Hup 终端断线

    • -2 INT 中断(同Ctrl+c

    • -3 QUIT 退出(同Ctrl+\)

    • -15 TERM 终止,是默认的信号,如果应用本身会捕获该信号,则不能终止

    • -9 KILL 强制终止

    • -18 CONT 继续

    • -19 STOP 暂停(同Ctrl+z)

    查看 httpd 进程 

    1、ps aux |grep httpd                              #-aux 显示所有状态

    [root@localhost init.d]# ps aux |grep httpd
    root      2091  0.0  0.1   5488  2832 ?        Ss   17:19   0:00 /web/apache//bin/httpd -k restart

    我们可以用  kill -9 加进程ID   如下
    [root@moyea309 init.d]# kill -9 2091

    注意:kill 只能杀死处于用户状态的进程。

    kill 命令用于终止进程,-9 表示强迫进程立即停止,例如: kill -9 [PID]

    -1表示让一个进程不用重启,就可以重读其配置文件,并让新的配置信息生效;

    -2表示中断一个进程

    -9表示:杀死一个进程

    -15表示终止一个进程

    指定一个信号 :

              信号号码 : kill -1

             信号名称 : kill -SIGKILL

             信号名称简称 :kill-KILL 

     

    常见查看端口的命令:

    查看进程占用的端口,可以使用如下命令:

    netstat -apn  | grep 9999

     

    查看程序占用的端口

    ps aux | grep 23275

    查看进程

    ps -ef | grep java,表示查看所有进程里 CMD 是 java 的进程信息


    ps -aux | grep java,-aux 显示所有状态

    杀了进程就在终端输入:

    $ kill -s 9 1827

     

    在终端中执行ps aux,
    各列输出字段的含义:

     

    USER        进程所有者
    PID         进程ID
    PPID         父进程
    %CPU       CPU占用率
    %MEM     内存占用率
    NI          进程优先级。数值越大,占用CPU时间越少
    VSZ          进程虚拟大小
    RSS          页面文件占用
    TTY         终端ID
    STAT         进程状态
    +---D   不可中断    Uninterruptible sleep (usually IO)
    +---R   正在运行,或在队列中的进程
    +---S   处于休眠状态
    +---T   停止或被追踪
    +---Z   僵尸进程
    +---W   进入内存交换(从内核2.6开始无效)
    +---X   死掉的进程

    +---<   高优先级
    +---N   低优先级
    +---L   有些页被锁进内存
    +---s   包含子进程
    +---+   位于后台的进程组;
    +---l   多线程,克隆线程 multi-threaded (using CLONE_THREAD, like NPTL pthreads do)

     

    杀死僵尸进程

    用top查看系统中的僵尸进程情况 
    ccfe9bdf10605ea034d879f13c2414dffd7.jpg

    再看看这些僵尸是什么程序来的 ,用ps和grep命令寻找僵尸进程

    ps -A -o stat,ppid,pid,cmd | grep -e '^[Zz]'

    命令注解:

    -A 参数列出所有进程

    -o 自定义输出字段 我们设定显示字段为 stat(状态), ppid(进程父id), pid(进程id),cmd(命令)这四个参数
     

    因为状态为 z或者Z的进程为僵尸进程,所以我们使用grep抓取stat状态为zZ进程
    Z+:表示正在运行的僵尸进程

     

    因为状态为 z或者Z 的进程为僵尸进程,所以我们使用grep抓取stat状态为zZ进程 
    运行结果参考如下 
     

    这里一共出现了3个僵死进程,我们需要把它们一个个都干掉,执行下面的命令

    kill -9 21320

    或者

    kill -HUP 21320来杀掉这个僵尸进程

    这样处理的速度有点慢,直接来个快速干掉所有僵尸进程的命令 
    这里写图片描述

    再次运行ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]'来确认是否将僵尸进程杀死,再查看,僵尸进程没有了! 
    d7468eab853c8842af18bd41d4331574e5f.jpg

    如果kill 子进程的无效,可以尝试kill 其父进程来解决问题,例如上面例子父进程pid是 12334,那么我们就运行

    kill -HUP 12334

    检查当前僵尸进程信息

    ps -ef | grep defunct | grep -v grep | wc -l

    查看TOP前两行信息

    top | head -2

    直接杀死进程

    ps -ef | grep defunct | grep -v grep | awk '{print "kill -18 " $3}'

    如果父进程也杀不死,那就只能执行重启了

     

    kill后出现问题的解决办法:

    场景:jps 报process information unavailable解决方法
    jps时出现如下信息:

    22162– process information unavailable

    解决办法:

    进入tmp目录,

    cd /tmp

    删除该目录下

    名称为hsperfdata_{username}的文件夹 
     

    然后jps,清净了。

     

    没有Killall:

    yum install psmisc

     

     killall 命令终止进程的 8 大用法

    kill 命传递一个PID来杀死进程;pkill 命令使用一个正则表达式作为输入,所以和该模式匹配的进程都被杀死。

    killall ,默认情况下,它精确地匹配参数名,然后杀死匹配进程。

    默认情况下,killall 命令将向一个/组进程发送一个 SIGTERM 信号,但是,也可以通过参数发送一个指定的信号。

    1. 基本用法

    假如我们 3 个进程在运行,分别是 hello1, hello2, hello3 ,现在我们想杀死 hello1 进程,可以直接使用如下方式:

    killall hello1
    

    运行的结果如下:

    root@centos test]$ ps aux | grep hello
    alvin    12061  0.0  0.0   4152   344 pts/0    S    14:41   0:00 ./hello1
    alvin    12074  0.0  0.0   4152   344 pts/0    S    14:41   0:00 ./hello2
    alvin    12084  0.0  0.0   4152   340 pts/0    S    14:41   0:00 ./hello3
    alvin    12089  0.0  0.0 112648   964 pts/0    R+   14:41   0:00 grep --color=auto hello
    [root@centos test]$ killall hello1
    [1]   Terminated              ./hello1
    [root@centos test]$ ps aux | grep hello
    alvin    12074  0.0  0.0   4152   344 pts/0    S    14:41   0:00 ./hello2
    alvin    12084  0.0  0.0   4152   340 pts/0    S    14:41   0:00 ./hello3
    alvin    12170  0.0  0.0 112648   964 pts/0    R+   14:42   0:00 grep --color=auto hello
    

    可以看到,hello1 进程已经被杀死了。

    剩下的 hello2 和 hello3 进程,我们想一次性杀死他们,也就是批量杀死进程,可以如下操作:

    [root@centos test]$ killall hello*
    hello: no process found
    hello1: no process found
    hello.c: no process found
    [2]-  Terminated              ./hello2
    [3]+  Terminated              ./hello3
    

    如此,以 hello 开头的进程全部被干掉。

    2. 终止某个用户所运行的进程

    可以杀死以满足某个正则表达式的一组进程,同样的,我们也可以杀死某个用户运行的所有进程。

    比如,用户 harry 现在运行如下几个进程:

    [root@centos test]$ ps aux | grep harry
    root     13675  0.0  0.2 148236  5584 ?        Ss   14:55   0:00 sshd: harry [priv]
    harry    13677  0.0  0.1 148236  2944 ?        S    14:55   0:00 sshd: harry@pts/1
    root     13678  0.0  0.2 148236  5444 ?        Ss   14:55   0:00 sshd: harry [priv]
    harry    13680  0.0  0.1 148236  2252 ?        S    14:55   0:00 sshd: harry@notty
    harry    13681  0.0  0.1  53228  2168 ?        Ss   14:55   0:00 /usr/libexec/openssh/sftp-server
    harry    13694  0.0  0.1 116436  3252 pts/1    Ss+  14:55   0:00 -bash
    harry    13948  0.0  0.0   4152   344 pts/1    S    14:57   0:00 ./hello1
    harry    13952  0.0  0.0   4152   344 pts/1    S    14:57   0:00 ./hello2
    harry    13959  0.0  0.0   4152   344 pts/1    S    14:57   0:00 ./hello3
    alvin    14005  0.0  0.0 112648   964 pts/0    R+   14:58   0:00 grep --color=auto harry
    

    我们现在想杀死 harry 所运行的所有进程,可以以如下方式操作:

    killall -u harry
    

    运行结果如下:

    [root@centos test]$killall -u harry
    [root@centos test]$ ps aux | grep harry
    alvin    14040  0.0  0.0 112648   964 pts/0    R+   14:58   0:00 grep --color=auto harry
    

    但是,这个选项要慎用,因为它会把该用户所有进程,包括终端进程,全部杀死,将导致该用户直接退出。所以,如果不想挨揍的话不要轻意尝试这个选项。

    3. 终于时间的方式终止进程

    假如我们现在运行了很多程序,我们只想杀死运行时间超过 5h 的进程,那么可以使用 -o 选项,其中 o 代表 older 如下:

    killall -o 5h
    

    同样地,如果你想杀死进行时间小于 4h 的进程,那么可以使用 -y 选项,其中 y 代表 younger ,如下:

    killall -y 4h
    

    这两个选项同样非常粗暴,也会把终端退出,所以先不演示了。

    4. 忽略大小写

    默认情况下,killall 命令是大小写敏感的,所以我们如果写错大小写,将无法正确杀死进程。

    [alvin@VM_0_16_centos test]$ killall HELLO1
    TEST1: no process found
    

    如果我们想忽略大小写,可以加上 -I (大写字母 i )选项。

    [root@centos test]$ killall -I HELLO1
    [1]   Terminated              ./hello1
    

    5. 关闭命令执行回显

    默认情况下,killall 会告诉你命令执行情况,但是,我们如果不关心它的执行结果,只想让它静默执行,该怎么办?只需加上 -q 选项即可,其中 q 表示 quite , 如下:

    [root@centos test]$ killall HELLO2
    HELLO2: no process found
    [root@centos test]$ killall -q HELLO2
    

    6. 列出所有支持的信号

    如前文所述,默认情况下,killall 命令将发送 SIGTERM 信号,那么,安可以发送其它信号吗?当然是可以的。可以使用 -l 选项查看 killall 所支持的所有信号:

    [root@centos test]$ killall -l
    HUP INT QUIT ILL TRAP ABRT IOT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM
    STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH IO PWR SYS
    UNUSED
    

    你可以使用 -s 选项(后面跟一个信号名)来向一个进程发送特殊信号。

    7. 交互式操作

    如果你在杀死多个进程时不太放心,担心把不该杀死的进程给杀死了,那么你可以使用 -i 选项,这样就可以自由决定哪些进程应该被杀死,哪些进程应该被保留。

    [root@centos test]$ killall -i hello*
    Kill hello2(13825) ? (y/N) y
    Kill hello3(13831) ? (y/N) N
    hello: no process found
    hello1: no process found
    hello3: no process found
    hello.c: no process found
    [2]-  Terminated              ./hello2
    

    8. 等待直到某个进程被终止

    当一个信号被发送至某个进程,如果你想确定该进程已经被杀死了才返回执行结果,可以使用 -w 选项,其中 w 代表 wait ,如下:

    [alvin@VM_0_16_centos test]$ killall -w hello1
    [4]+  Terminated              ./hello1
    

    这里好像看不出什么效果,但实际执行的时候,可以发现执行结果会在一两秒后出现,而不加 -w 选项的话,执行结果马上就显示。

     

     

     

     

     

    参考链接 :

    https://mp.weixin.qq.com/s/UhzFTQM83gTshPDSTxo9LQ

    转载于:https://my.oschina.net/u/3803405/blog/1826863

    展开全文
  • CMD杀死进程

    千次阅读 2016-11-16 09:22:35
    2.①输入tasklist命令来查看当前计算机运行的进程. ②输入tasklist /?(回车),便可显示相关指令帮助; TASKLIST [/S system [/U username [/P [password]]]][/M [module] | /SVC | /V] [/FI filter] [/FO format] ...

    1.进入cmd,打开DOS界面
    2.①输入tasklist命令来查看当前计算机运行的进程.
    ②输入tasklist /?(回车),便可显示相关指令帮助;

    TASKLIST [/S system [/U username [/P [password]]]][/M [module] | /SVC | /V] [/FI filter] [/FO format] [/NH]
      描述:
      这个命令行工具显示应用程序和本地或远程系统上运行的相关任务/进程的列表。
      参数列表:
      /S system 指定连接到的远程系统。
      /U [domain]user 指定应该在哪个用户上下文执行这个命令。
      /P [password] 为提供的用户上下文指定密码。如果忽略,提示输入。
      /M [module] 列出所有其中符合指定模式名的 DLL 模块的所有任务。如果没有指定模块名,则显示每个任务加载的所有模块。
      /SVC 显示每个进程中的服务。
      /V 指定要显示详述 信息。
      /FI filter 显示一系列符合筛选器指定的标准的任务。
      /FO format 指定输出格式。有效值: “TABLE”、”LIST”、”CSV”。
      /NH 指定栏标头不应该在 输出中显示。只对 “TABLE” 和 “CSV” 格式有效。
      /? 显示帮助/用法。

    3.输入taskkill /?(回车),便可显示相关指令帮助

    TASKKILL [/S system [/U username [/P [password]]]]
    { [/FI filter] [/PID processid | /IM imagename] } [/F] [/T]
    描述:
    这个命令行工具可用来结束至少一个进程。
    可以根据进程 id 或图像名来结束进程。
    参数列表:
    /S system 指定要连接到的远程系统。
    /U [domain]user 指定应该在哪个用户上下文执行这个命令。
    /P [password] 为提供的用户上下文指定密码。如果忽略,提示输入。
    /F 指定要强行终止进程。
    /FI filter 指定筛选进或筛选出查询的的任务。
    /PID process id 指定要终止的进程的PID。
    /IM image name 指定要终止的进程的图像名。通配符 ‘*’
    可用来指定所有图像名。
    /T Tree kill: 终止指定的进程和任何由此启动的子进程。
    /? 显示帮助/用法。

    4.例
    taskkill /im notepad.exe–结束了记事本的进程,
    也可以
    taskkill /pid 608来结束进程。
    im参数后面使用进程名.
    pid参数后面使用进程id.

    展开全文
  • cmd杀死进程命令 - taskkill

    千次阅读 2014-05-20 15:52:20
    taskkill 命令实例: taskkill 命令

    cmd 中杀死进程命令 - taskkill

        TASKKILL /F /PID XXXX (大小写都可以)

    使用 taskkill 命令时,请使用管理员身份运行 cmd,否则会提示访问拒绝,如图:


    如何使用管理员身份运行 cmd ? 

        开始 -> 搜索中输入cmd -> 右击cmd.exe -> 以管理员身份运行

        或 开始 -> 所有程序 -> 附件 -> 右击命令提示符 -> 以管理员身份运行

    taskkill 命令实例:



    taskkill 命令详解:

    
    展开全文
  • 通过cmd查看端口占用,并停止该端口,杀死进程kill命令 首先需要打开cmd命令窗口 方式一: 使用 win + R 快捷键方式打开运行窗口,输入“cmd”,然后点击确定按钮打开命令提示符;如图所示: 方式二: 按 win 键...

    通过cmd查看端口占用,并停止该端口,杀死进程kill等命令

    首先需要打开cmd命令窗口

    方式一: 使用 win + R 快捷键方式打开运行窗口,输入“cmd”,然后点击确定按钮打开命令提示符;如图所示:
    win + R 快捷键

    方式二:win 键会弹出一个窗口,这时直接输入 “cmd”,可直接打开cmd窗口,也可以使用管理员身份打开cmd

    win 快捷键
    进入命令提示符窗口后,输入“netstat -ano”并按下回车执行,之后就会显示电脑上运行的所有端口号,如图所示:

    netstat -ano
    

    netstat -ano 显示所有运行的端口号

    我在idea启动的时候显示 “port 7009” 被占用,所以根据上述的命令可以找到端口号为7009的PID(进程号),如上图所示,70009的PID是:4628,现在需要把它终止。

    端口号为7009的被占用
    接下来,输入“tasklist | findstr “4628””并按下回车,查询PID为4628的进程名称,如图所示:

    //tasklist | findstr "PID"
    tasklist | findstr "4628"
    

    tasklist | findstr “PID”=根据PID查询该进程的名称

    结束指定进程,输入以下其中一种命令,按回车执行即可。

    命令一:根据PID进程号结束进程

    taskkill /pid 4628 -t -f
    

    命令二:根据进程名称结束进程

    taskkill /f /t /im Postman.exe
    

    两种命令结束进程
    有没有帮助到你们解决问题呢? 遇到困难不放弃,一定有前辈遇到和你一样的问题,但是他们解决了,慢慢日积月累,他们成为了前辈,成为了大佬,所以我们也得努力,加油加油吖~

    一起努力成为一名优秀的程序媛吧~ 🤭

    展开全文
  • grep + kill 杀死指定命令进程

    千次阅读 2017-11-14 09:45:20
    grep + kill 杀死指定命令的进程背景描述有的时候我们需要 kill 进程的时候需要先 ps -ef | grep 'CMD_STR' 来查看 PID, 然后在执行 kill PID,如果同样的命令启动了多个进程,在...组合杀死进程命令如下: ps -ef |
  • cmd命令杀死进程

    千次阅读 2018-07-09 19:32:56
    http://blog.sina.com.cn/s/blog_5f5f3b080100clts.html 运行cmdc:\&gt;ntsd -c q -p PID只有System、SMSS.E
  • 主要介绍了Tomcat 发布程序使用cmd查看端口占用、相应进程、杀死进程等的命令的相关资料,需要的朋友可以参考下
  • cmd命令根据端口号杀死进程

    千次阅读 2019-02-21 14:24:32
    2.使用taskkill命令杀死进程 taskkill /pid pid 温馨提醒: 1.执行完第一步后,命令行显示的最后一个数字就是pid; 2.如果执行第二步命令行提示“错误: 无法终止 PID 为 xxxx 的进程。原因: 只能强行终止这个...
  • tasklist 使用以上命令显示当前进程,及其PID等,如图所示 找到我要删除的进程的pid(好像有点...可以看到,现在所处的用户目录和刚才不同,现在拥有系统权限,重复上述过程,就可以杀死进程了 参考资料: ...
  • linux下杀死进程kill)的N种方法

    千次阅读 2016-06-22 11:35:48
    查看进程:1、ps 命令用于查看当前正在运行的进程。 grep 是搜索 例如: ps -ef | grep java ...3. kill 命令用于终止进程 例如: kill -9 [PID] -9 表示强迫进程立即停止 通常用 ps 查看进程 PID ,用
  • Linux中查看进程及杀死进程命令

    千次阅读 2018-07-27 16:22:33
    Linux中想杀死fcitx进程,然后再重启它。 root@www.linuxidc.com:/home/zhangbin# ps -e | grep 'fcitx'
  • 文章目录介绍语法格式常用选项参数参考示例 介绍 ...若仍无法终止该程序,即进程或工作忽略此信号,则可以使用信号9,强制杀死进程或作业。即可使用 SIGKILL(9) 信号强制删除程序。程序或进程的编号
  • cmd 窗口 查看进程和杀死进程

    千次阅读 2018-10-08 16:51:48
    在开始-运行-cmd,输入: netstat –ano 可以查看所有进程 查看 运行 固定端口 应用程序 例如 8080 netstat -ano|findstr "...使用命令杀死进程 taskkill /PID 进程号 /F 例: ta...
  • Windows 查询进程,并杀死进程 查询占用端口的进程的窗口句柄,也就是对应的进程的编号 netstat -ano | findstr 8080 ----->末尾是端口号(这句话请勿复制) 协议 地址:端口 监听状态 PID TCP 0.0.0.0:...
  • Window 通过cmd查看端口占用 相应进程 杀死进程等的命令
  • 在安装mysql或者tomcat时,又或者是使用tomcat和mysql时,会碰到端口被占用的情况,如何使用便捷的cmd命令去关闭端口,杀死相应的进程,就显得非常重要,下面就以8080端口被占用来举例说明:*** 1.打开cmd命令行...
  • 环境中进程的前后台调用2.kill常用进程信号2.1 彻底杀死进程2.2 杀死程序2.3 强制踢掉登陆用户2.4 kill的注意事项 1.环境中进程的前后台调用 1)前后台调用的常用命令: jobs 查看被打入环境后台的进程 ctrl...
  • 一、 查看所有进程占用的端口 在开始-运行-cmd,输入:netstat –ano可以查看所有进程二、查看占用指定端口的程序 ...三、使用命令杀死进程 根据上述查找我们已经知道其进程号了,使用命令: taskkill /PI...
  • windows下DOS杀死进程命令

    千次阅读 2012-07-21 20:36:22
    1、打开任务管理器,看一下这个进程的PID值,记下来。如果你的任务管理器没显示PID值,就到...2、点“开始”“运行”,输入CMD,确定,弹出DOS命令窗口,在里边输入: ntsd -c q -p PID值 回车 就可以掉那个进程了。
  • js直接调用cmd命令杀死指定进程

    千次阅读 2018-04-11 17:26:23
    首选我们在cmd执行命令之前先设置进程的窗口名称title,后续我们根据title杀死进程查看当前进程ups的相关信息删除ups的进程信息TASKKILL /F /FI " windowtitle eq 管理员: ups // 执行本地recording命令...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,218
精华内容 4,487
关键字:

cmd杀死进程命令kill