我正在尝试获取ps -ef
命令的结果,但遇到了一个问题。
因为$cmd
它不打印完整的命令,只是在命令争论之间的空间处分割。
它打印这个:
jill 61745 8888 0 11:03 ? 00:00:04 php-fpm:
什么时候应该打印这个:
jill 61745 8888 0 11:03 ? 00:00:04 php-fpm: pool www
我知道一个正则表达式可以做到这一点,但我究竟应该做什么对我来说并不清楚。
sub refresh {
open(OPENPIPE, "ps -ef|");
while (<OPENPIPE>) {
my ($uid, $pid, $ppid, $c, $stime, $tty, $time, $cmd) = split();
print "$uid $pid $ppid $c $stime $tty $time $cmd\n";
}
close(OPENPIPE);
}
refresh();