zoukankan      html  css  js  c++  java
  • linux命令总结--pkill

    pkill

           pkill可以给指定的进程发送信息,它可以结束某个执行的进程或者目录登录的用户。

           此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

     

    1、语法

           pkill [-signal]  [-fvx]  [-n|-o] [-P ppid,...]  [-g pgrp,...]  [-s sid,...]  [-u euid,...]  [-U uid,...]  [-G gid,...]  [-t term,...]  [pattern]

     

    2、选项列表

    选项

    说明

    --help

    显示帮助文档

    --version

    显示命令版本

    -f

    查找完成的文件名

    -g pgrp

    只匹配列出的进程组ID中的进程。进程组0被转换为pgrep或pkill自己的进程组。

    -G gid

    只匹配实际组ID列出的进程。可以使用数值或符号值。

    -n

    选择最近执行的进程

    -o

    选择最早的进程

    -P ppid

    选择父pid匹配的进程

    -s sid

    只匹配进程会话ID列出的进程。会话ID 0被转换为pgrep或pkill自己的会话ID。

    -t term

    查找符合终端号的进程

    -u euid

    只匹配其有效用户ID列出的进程。

    -U uid

    只匹配实际用户ID列出的进程。可以使用数值或符号值。

    -v

    查找不符合条件的进程

    -x

    只匹配其名称(如果-f指定了命令行)与模式完全匹配的进程。

    -signal

    要发送的信号

     

    3、返回值

    退出码

    说明

    0

    一个或多个进程符合。

    1

    没有进程符合

    2

    命令的语法错误

    3

    致命错误:内存不足等。

     

    4、实例

           杀死wc进程

    [root@localhost ~]# pkill -SIGKILL wc                   //wc发送KILL信号,杀死进程

    [1]-  已杀死               nice -n 19 wc

    You have new mail in /var/spool/mail/root 

    [root@localhost ~]# ps                                    //查看进程,wc已经杀死

      PID TTY          TIME CMD

     8266 pts/0    00:00:00 bash

     8554 pts/0    00:00:00 ps

       首先说一下kill命令,它是通过pid(进程ID)来杀死进程,要得到某个进程的pid,我们可以使用ps(process status)命令,默认情况下,kill命令发送给进程的终止信号是15,但是有些进程不会理这个信号,这样的话,可以用9信号来强制杀死,信号9是不会被忽略的强制性执行信号。
          而killall和pkill都是使用命令名来终止进程的有效手段,它们不同于kill通过pid来杀死进程的方式,它可以理解为成批成批的杀死进程,当然这么做的危险性也相对提高了不少。当然它们也可以给进程发送相应的终止信号。
           比如我们要杀死mysql的相关进程,我们可以使用pkill -9 mysqld即可杀死所有mysql相关的进程,比较方便,不过它有可能会误删程序。
          
          下面是常用的信号的数字及其含义:
          1     表示从终端上发出的结束信号
          2     表示从键盘上发出的终端信号(即Ctrl+c)
          3     表示从键盘上发出的退出信号(即Ctrl+)
          8     表示浮点异常,比如被0除
          9     表示结束接受信号的进程,也就是强行杀死进程
         15    kill命令默认的终止信号
         17    子进程终止或结束的信号
         19    从键盘来执行的信号
  • 相关阅读:
    编译linux内核问题
    linux驱动路径
    plateform_driver_register和plateform_device_register区别
    linux总线、设备和设备驱动的关系
    linux设备驱动模型
    一堆Offer怎么选?这样做就不纠结了
    解决问题最简单的方法
    Android ScrollView嵌套GridView导致GridView只显示一行item
    84. Spring Boot集成MongoDB【从零开始学Spring Boot】
    接手别人的代码,死的心有吗?
  • 原文地址:https://www.cnblogs.com/hanjiali/p/11804934.html
Copyright © 2011-2022 走看看