English 中文(简体)
2. 如何找到一种具有......地位的太阳能工艺
原标题:How to find a solaris process with ___ status

我写了以下文字:搜查某些程序,显示每个过程都使用滞后器,当发现有“停用”字时,停止使用:

!cat find_pause
#!/usr/bin/perl -W

use warnings;
use strict;

if (open(WCF,
         "ps -ef | grep  /transfile  | cut -c10-15 | xargs -n1 pflags 2>&1 |"
   )) {
    while (<WCF>) {
       next if ($_ =~ /cannot/);
       print $_;
       last if ($_ =~ /pause/);
    }
    close(WCF);
}

它发挥了作用,但我想知道,这样做是否有更好的办法。

Update

<代码>pause为低级系统电话。 同read,nanosleep,waitid, 等。

附有本稿 我想找到在<代码>pause<>/code>呼吁中停滞不前的进程。 我们正试图在我们体系中找到一个灯塔,我们认为这可能与这一点有关。

问题回答

我不知道你在这种情况下认为什么是“更好的方式”,但我可以为你已经采取的方法提供一些技术指导:

  • www.un.org/Depts/DGACM/index_spanish.htm

    。 防止这种情况的简单办法是在<条码>grep模式论证中引入一个成员的特性类别。

  • <代码>grep +cut,即,在模式匹配后进行实地提取,是单一<代码>awk的易于执行的任务。

  • Don t refer to $_

    更精通的外向器将排除对<条码>的明确使用。 Try next if /cannot/ and the same.

  • 页: 1

    请使用弹性卷宗,否则,你就会被那些老旧的人们chi笑,以记住,当我们不使用它们的时候。

这有两个可能的改进,取决于:

  1. 您是否实际需要印刷<代码>pflags的确切产出。 指挥或从中获取某种信息(例如,私人身份证和旗帜清单?)

  2. 滞后产出中的“暂停”意味着什么? 这在“proc”或“pflags”的单页中没有任何地方,所有实际旗帜都是上。 视其含义而定,可在本土执行“/proc”-

    例如,该过程标有所有旗帜(,在轨矢量上和过程状态(我的怀疑是“暂停”可能是一种程序状态)。


如果回答“ 更好的解决办法是:

#!/usr/bin/perl -W
use warnings;
use strict;

use Proc::ProcessTable;

my $t = new Proc::ProcessTable;
foreach $p ( @{$t->table} ) {
   my $flags = $p->pid; # This is an integer containing bit vector.
   # Somehow process $flags or $p->status to find "if the process is paused"
   print "$flags
";
   last if paused($p); # No clue how to do that without more info from you
   # May be : last if $p->status =~ /paused/;
}

然而,如果本土的Perl工艺没有给你足够的内心(可能的话),那么,如果你出于某种原因想印刷准确的<代码>pflags输出,那么最佳的办法是为本地的猪肉制定一份个人信息清单,而不是作为赢物,但你仍然失去额外的幸运过程。 与此类似:

#!/usr/bin/perl -W
use warnings;
use strict;

use Proc::ProcessTable;

my $t = new Proc::ProcessTable;
my $pids = join " ", map { $_->pid } @{$t->table};
if (open(WCF, "pflags 2>&1 $pids|")) {
    while (<WCF>) {
       next if ($_ =~ /cannot/);
       print $_;
       last if ($_ =~ /pause/);
    }
    close(WCF);
}





相关问题
Why does my chdir to a filehandle not work in Perl?

When I try a "chdir" with a filehandle as argument, "chdir" returns 0 and a pwd returns still the same directory. Should that be so? I tried this, because in the documentation to chdir I found: "...

How do I use GetOptions to get the default argument?

I ve read the doc for GetOptions but I can t seem to find what I need... (maybe I am blind) What I want to do is to parse command line like this myperlscript.pl -mode [sth] [inputfile] I can use ...

Object-Oriented Perl constructor syntax and named parameters

I m a little confused about what is going on in Perl constructors. I found these two examples perldoc perlbot. package Foo; #In Perl, the constructor is just a subroutine called new. sub new { #I ...

Where can I find object-oriented Perl tutorials? [closed]

A Google search yields a number of results - but which ones are the best? The Perl site appears to contain two - perlboot and perltoot. I m reading these now, but what else is out there? Note: I ve ...

热门标签