在Perl中获取后台进程的进程ID

时间:2014-08-31 05:44:38

标签: perl

以下bash脚本效果很好

#! /bin/bash
sleep 2 & echo $!

如果我尝试在Perl中执行此操作:

use warnings;
use strict;
my $pid=qx{bash -c 'sleep 2 & echo $! '};
print "$pid\n";

它不会立即返回,它也会为$pid提供空输出。

1 个答案:

答案 0 :(得分:1)

my $pid = fork;
if ($pid == 0) {
    exec("sleep 2");
}
print "$pid\n";