<i id='1t2yc'><div id='1t2yc'><ins id='1t2yc'></ins></div></i>
  • <fieldset id='1t2yc'></fieldset>
    <i id='1t2yc'></i>

      <acronym id='1t2yc'><em id='1t2yc'></em><td id='1t2yc'><div id='1t2yc'></div></td></acronym><address id='1t2yc'><big id='1t2yc'><big id='1t2yc'></big><legend id='1t2yc'></legend></big></address>
        <span id='1t2yc'></span>
      1. <tr id='1t2yc'><strong id='1t2yc'></strong><small id='1t2yc'></small><button id='1t2yc'></button><li id='1t2yc'><noscript id='1t2yc'><big id='1t2yc'></big><dt id='1t2yc'></dt></noscript></li></tr><ol id='1t2yc'><table id='1t2yc'><blockquote id='1t2yc'><tbody id='1t2yc'></tbody></blockquote></table></ol><u id='1t2yc'></u><kbd id='1t2yc'><kbd id='1t2yc'></kbd></kbd>
      2. <dl id='1t2yc'></dl>

          <ins id='1t2yc'></ins>

          <code id='1t2yc'><strong id='1t2yc'></strong></code>

          1. 简单了解Linux系统中pgrep与pkill命令的使用

            • 时间:
            • 浏览:11
            • 来源:124软件资讯网

                pgrep, pkill – 查找或者发信号给历程通过名称和其它属性 。

                语法

                pgrep [-flvx] [-n | -o] [-d delim] [-P ppidlist] [-g pgrplist] [-s sidlist] [-u euidlist] [-U uidlist] [-G gidlist] [-J projidlist] [-t termlist] [-T taskidlist] [-c ctidlist] [-z zoneidlist] [pattern]

                pkill [-signal] [-fvx] [-n | -o] [-P ppidlist] [-g pgrplist] [-s sidlist] [-u euidlist] [-U uidlist] [-G gidlist] [-J projidlist] [-t termlist] [-T taskidlist] [-c ctidlist] [-z zoneidlist] [pattern]

                说明

                pgrep法式检查在系统的中运动历程  ,陈诉历程属性匹配下令行上指定条件的历程的ID  。每一个历程ID以一个十进制数表现  ,通过一个支解字符串和下一个ID离开  ,默认的支解字符串是一个新行  。对于每个属性选项  ,用户可以在下令行上指定一个以逗号支解的可能值的荟萃 。例如 ,

                代码如下:

                pgrep -G other,daemon

                匹配真实组ID是other或者是daemon的历程  。若是多个条件被指派  ,这些匹配条件按逻辑与”AND”规则运算  。例如  ,

                代码如下:

                pgrep -G other,daemon -U root,daemon

                匹配历程它的属性是:

                (真实的组ID是other或者是daemon) 与 (真实的用户ID是root或者是daemon)

                pkill函数和pgrep相同  ,除了匹配的历程被信号通知就像用kill(1)替换了pgrep的历程ID的输出  。一个信号名称或者数字可以作为pkill的第一个下令行选项  。

                选项

                支持下面的选项:The following options are supported:

                -c ctidlist 仅匹配列表中列出的ID的历程  。

                -d delim 指定每一个匹配的历程ID之间支解字符串  。若是没有 -d 选项指定  ,默认的是新行字符  。-d 选项仅在pgrep下令中有用  。

                -f正则表达式模式将执行与完全历程参数字符串 (从/proc/nnnnn/psinfo文件的pr_psargs字段获得)匹配 。若是没有 -f 选项  ,表达式仅对执行文件名称(从/proc/nnnnn/psinfo文件pr_fname字段获得)匹配  。

                -g pgrplist仅匹配历程组ID在给定列表中的历程  。若是组0包罗在列表中  ,这个被诠释为pgrep或者pkill历程的组ID  。

                -G gidlist仅匹配真实组ID在给定列表中的历程  。每一个组ID可以使用组名称或者数字的组ID指定  。

                -J projidlist匹配项目ID在给定列表中的历程  。每一个项目ID可以使用项目的名称或者数字项目ID来指定 。

                -l长花样输出 。输出每一个匹配历程的名称连同历程ID  。历程名称从pr_psargs 或者 pr_fname字段获得 ,依赖于-f选项是否指定 。-l选项仅在pgrep下令中有用  。

                -n匹配最新(最近天生的)切合所有其它匹配条件的历程  。不能和-o选项一起使用  。

                -o匹配最旧(最早天生的)切合所有其它匹配条件的历程 。不能和-n选项一起使用 。

                -P ppidlist 仅匹配给定列表中父历程ID的历程  。

                -s sidlist 仅匹配历程会话ID在给定列表中的历程  。若是ID 0在列表中 ,这个诠释为pgrep或者pikill历程的会话ID 。

                -t termlist 仅匹配与给定列表中终端关联的历程  。每一个终端指定为在/dev中终端装备路径名称的后缀  。例如term/a 或者 pts/0  。

                -T taskidlist 仅匹配在给定列表中使命ID的历程  。若是ID 0包罗在列表中 ,这个诠释为pgrep或者pikill历程的会话ID  。

                -u euidlist 仅匹配有用用户ID在给定列表中的历程  。每个用户ID可以通过一个登录名称或者数字的用户ID指定 。

                -U uidlist 仅匹配真实的用户ID在给定列表中的历程  。每个用户ID可以通过一个登录名称或者数字的用户ID指定  。

                -v 反向匹配  。匹配所有的历程除了切合匹配条件的  。

                -x 仅以为历程其参数字符串或者执行文件名称准确匹配划定模式是匹配的历程 。模式被以为是准确的当所有在历程参数字符串或者可执行文件名称的字符匹配模式  。

                -z zoneidlist 仅匹配区域ID在给定列表中的历程  。每一个区域ID可以使用一个区域名称或者一个数字的区域ID指定  。这个选项仅在全局区域中执行有用  。若是pkill法式用来往其它区域的历程发信号  ,进城必须宣称{PRIV_PROC_ZONE}特权  。

                -signal 指定发往每一个匹配历程的信号  。若是没有指定  ,SIGTERM 是默认的信号  。-signal仅在pkill下令中作为第一个选项有用  。信号可以是在signal.h中界说的没有SIG前缀的一个符号名字 ,也可是一个响应的信号数值 。

                例子

                例子1 获得一个历程ID

                获得sendmail的历程ID:

                代码如下:

                example% pgrep -x -u root sendmail

                283

                例子2 终止一个历程

                终止最近天生的xterm:

                代码如下:

                example% pkill -n xterm

              < p>Exit Status

                如下退出值被返回:

                0 一个或者多个历程被匹配  。

                1 没有历程被匹配  。

                2 指定了无效的下令行参数  。

                3 泛起一个致命的错误 。

                例子3 用pkill下令踢出在线登任命户

                由于linux服务器允许多用户登录  ,公司许多人知道密码  ,事情造成一定的障碍

                以是需要有时踢出指定的用户

                #who 查出当前有那些终端登录(用 w 下令更详细)

                代码如下:

                # who

                root pts/0 2010-10-28 09:36 (192.168.1.236)

                root pts/2 2010-10-28 09:40 (192.168.1.27)

                root pts/3 2010-10-28 10:02 (192.168.1.82)

                root pts/4 2010-10-20 16:06 (192.168.1.244)

                我想踢出IP为82的登录  ,其对应的tty为pts/3

                代码如下:

                # pkill -kill -t pts/3

                再次检察

                代码如下:

                # who

                root pts/0 2010-10-28 09:36 (192.168.1.236)

                root pts/2 2010-10-28 09:40 (192.168.1.27)

                root pts/4 2010-10-20 16:06 (192.168.1.244)

                已乐成踢出