小编Sna*_*ark的帖子

理解Perl单线程

我正在研究一种检查AIX上进程内存使用情况的方法,并找到了这个页面,列出了这个命令:

# svmon -Pt15 | perl -e 'while(<>){print if($.==2||$&&&!$s++);$.=0 if(/^-+$/)}'
Run Code Online (Sandbox Code Playgroud)

它适用于我的目的,但我想了解Perl单线器部件的工作原理.

我知道它正在解析svmon命令的输出.我已经理解了$.==2输出第二行的部分.该部分$.=0重置行号,以便它可以对列出的每个进程执行相同的处理svmon.

但是我无法理解这部分内容||$&&&!$s++.有OR.$&是匹配的部分(什么?)和&&是AND运算符,但我不确定我是否正确分解它.

svmon返回(没有任何重定向)每个进程的类似行块.第一行类似于:

# svmon -Pt15 | head -n 20

-------------------------------------------------------------------------------
     Pid Command          Inuse      Pin     Pgsp  Virtual 64-bit Mthrd  16MB
12058652 java            579432     8261   397386   824106      Y     Y     N

     PageSize                Inuse        Pin       Pgsp    Virtual
     s    4 KB               67560        309       1610      40138
     m   64 KB               31992        497      24736      48998

    Vsid      Esid Type Description              PSize  Inuse …
Run Code Online (Sandbox Code Playgroud)

perl aix command-line process

0
推荐指数
1
解决办法
253
查看次数

标签 统计

aix ×1

command-line ×1

perl ×1

process ×1