Perl 抑制TASKKILL的打印

Perl 抑制TASKKILL的打印,perl,cygwin,taskkill,Perl,Cygwin,Taskkill,我正在编写一个Perl脚本,用于进行系统调用以终止正在运行的进程。比如说,我想干掉所有的油灰窗户。为此,我有: 系统('TASKKILL/F/IM putty*/t2>nul') 然而,对于每一个被终止的进程,我都会得到一份打印文件,上面写着 成功:PID xxxx子进程为PID xxxx的进程已终止 这使我的CLI变得混乱。消除这些指纹的简单方法是什么?还要注意,我正在Cygwin中执行这些脚本。重定向sderr->stdout->nul: system('TASKKILL /F /IM pu

我正在编写一个Perl脚本,用于进行系统调用以终止正在运行的进程。比如说,我想干掉所有的油灰窗户。为此,我有:

系统('TASKKILL/F/IM putty*/t2>nul')

然而,对于每一个被终止的进程,我都会得到一份打印文件,上面写着

成功:PID xxxx子进程为PID xxxx的进程已终止


这使我的CLI变得混乱。消除这些指纹的简单方法是什么?还要注意,我正在Cygwin中执行这些脚本。

重定向sderr->stdout->nul:

system('TASKKILL /F /IM putty* /T 1>nul 2>&1');
或者只是简单地获取输出:

my $res = `TASKKILL /F /IM putty* /T 2>nul`;

重定向sderr->stdout->nul:

system('TASKKILL /F /IM putty* /T 1>nul 2>&1');
或者只是简单地获取输出:

my $res = `TASKKILL /F /IM putty* /T 2>nul`;

TASKKILL
写入第一个文件描述符(标准输出),而不是第二个文件描述符。 你想说什么

system('TASKKILL /F /IM putty* /T >nul');

TASKKILL
写入第一个文件描述符(标准输出),而不是第二个文件描述符。 你想说什么

system('TASKKILL /F /IM putty* /T >nul');
$exec_shell='TASKKILL/F/IM putty*/t2>nul';
my$a=运行shell($exec\u shell);
#我使用此功能:
分管壳{
我的($cmd)=@;
使用IPC::Open3“Open3”;
使用鲤鱼;
使用英语qw(-no_match_vars);
我的@args=();
my$EMPTY=q{};
my$ret=undef;
my($HIS_IN,$HIS_OUT,$HIS_ERR)=($EMPTY,$EMPTY,$EMPTY);
my$childpid=open3($HIS_IN,$HIS_OUT,$HIS_ERR,$cmd,@args);
$ret=print{$HIS_IN}“stuff\n”;
关闭$HIS_IN或低声说“无法关闭:$HIS_IN$ERRNO”;
把文件的结尾交给孩子。
如果($HIS_OUT){
我的@outlines=#一直读到EOF。
$ret=打印“标准输出:\n”,@outlines,“\n”;
}
如果(他的错误){
my@errlines=;#XXX:如果巨大,则阻止电位
$ret=print“STDERR:\n”、@errlines、“\n”;
}
关闭$HIS OUT或发出“无法关闭:$HIS OUT$ERRNO”;
#关闭$HIS_ERR或哼唱“无法关闭:$HIS_ERR$ERRNO”;#糟糕..待办事项
waitpid$childpid,0;
如果($CHILD\u错误){
$ret=print“该子项已退出,等待状态为$child\u ERROR\n”;
}
返回1;
}
$exec_shell='TASKKILL/F/IM putty*/t2>nul';
my$a=运行shell($exec\u shell);
#我使用此功能:
分管壳{
我的($cmd)=@;
使用IPC::Open3“Open3”;
使用鲤鱼;
使用英语qw(-no_match_vars);
我的@args=();
my$EMPTY=q{};
my$ret=undef;
my($HIS_IN,$HIS_OUT,$HIS_ERR)=($EMPTY,$EMPTY,$EMPTY);
my$childpid=open3($HIS_IN,$HIS_OUT,$HIS_ERR,$cmd,@args);
$ret=print{$HIS_IN}“stuff\n”;
关闭$HIS_IN或低声说“无法关闭:$HIS_IN$ERRNO”;
把文件的结尾交给孩子。
如果($HIS_OUT){
我的@outlines=#一直读到EOF。
$ret=打印“标准输出:\n”,@outlines,“\n”;
}
如果(他的错误){
my@errlines=;#XXX:如果巨大,则阻止电位
$ret=print“STDERR:\n”、@errlines、“\n”;
}
关闭$HIS OUT或发出“无法关闭:$HIS OUT$ERRNO”;
#关闭$HIS_ERR或哼唱“无法关闭:$HIS_ERR$ERRNO”;#糟糕..待办事项
waitpid$childpid,0;
如果($CHILD\u错误){
$ret=print“该子项已退出,等待状态为$child\u ERROR\n”;
}
返回1;
}