我正在尝试安装 timeout_system 模块。我在窗户上。当我尝试
cpanm System::Timeout
它失败。
当我尝试
cpan 系统::超时
我明白了
C:\Windows\System32>cpan System:Timeout
CPAN: LWP::UserAgent loaded ok (v6.03)
Fetching with LWP:
http://cpan.strawberryperl.com/authors/01mailrc.txt.gz
CPAN: YAML loaded ok (v0.77)
CPAN: CPAN::SQLite loaded ok (v0.202)
Fetching with LWP:
http://cpan.strawberryperl.com/modules/02packages.details.txt.gz
Fetching with LWP:
http://cpan.strawberryperl.com/modules/03modlist.data.gz
Database was generated on Mon, 16 Sep 2013 20:14:09 GMT
Updating database file ...
Done!Running install for module 'System::Timeout'
Running make for C/CH/CHENGANG/System-Timeout-0.07.tar.gz
Fetching with LWP:
http://cpan.strawberryperl.com/authors/id/C/CH/CHENGANG/System-Timeout-0.07.tar.gz
CPAN: Digest::SHA loaded ok (v5.63)
Fetching with LWP:
http://cpan.strawberryperl.com/authors/id/C/CH/CHENGANG/CHECKSUMS
CPAN: Compress::Zlib loaded ok (v2.042)
Checksum for C:\Dwimperl\cpan\sources\authors\id\C\CH\CHENGANG\System-Timeout- 0.07.tar.gz ok
CPAN: Archive::Tar loaded ok (v1.80)
CPAN: File::Temp loaded ok (v0.22)
CPAN: Parse::CPAN::Meta loaded ok (v1.4401)
CPAN: CPAN::Meta loaded ok (v2.120351)
CPAN: Module::CoreList loaded ok (v2.57)
CPAN.pm: Building C/CH/CHENGANG/System-Timeout-0.07.tar.gz
Checking if your kit is complete...
Looks good
Writing Makefile for System::Timeout
Writing MYMETA.yml and MYMETA.json
cp lib/System/Timeout.pm blib\lib\System\Timeout.pm
C:\Dwimperl\perl\bin\perl.exe -MExtUtils::Command -e cp -- bin/timeout blib\script\timeout
pl2bat.bat blib\script\timeout
CHENGANG/System-Timeout-0.07.tar.gz
C:\Dwimperl\c\bin\dmake.EXE -- OK
Running make test
C:\Dwimperl\perl\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib\lib', 'blib\arch')" t/*.t
t/00System-Timeout.t .. 1/9 'sleep' is not recognized as an internal or external command,
operable program or batch file.
'sleep' is not recognized as an internal or external command,
operable program or batch file.
Can't find string terminator "'" anywhere before EOF at -e line 1.
# Failed test 'system timeout exit code'
# at t/00System-Timeout.t line 21.
Can't find string terminator "'" anywhere before EOF at -e line 1.
# Failed test 'timeout timeout exit code'
# at t/00System-Timeout.t line 27.
# Looks like you failed 2 tests of 9.
t/00System-Timeout.t .. Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/9 subtests
t/01bin-timeout.t ..... '..' is not recognized as an internal or external command,
operable program or batch file.
t/01bin-timeout.t ..... 1/4 '..' is not recognized as an internal or external command,
operable program or batch file.
# Failed test 'bin-timeout exit code'
# at t/01bin-timeout.t line 15.
# Looks like you failed 1 test of 4.
t/01bin-timeout.t ..... Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/4 subtests
Test Summary Report
-------------------
t/00System-Timeout.t (Wstat: 512 Tests: 9 Failed: 2)
Failed tests: 7, 9
Non-zero exit status: 2
t/01bin-timeout.t (Wstat: 256 Tests: 4 Failed: 1)
Failed test: 4
Non-zero exit status: 1
Files=2, Tests=13, 1 wallclock secs ( 0.09 usr + 0.05 sys = 0.14 CPU)
Result: FAIL
Failed 2/2 test programs. 3/13 subtests failed.
dmake.EXE: Error code 129, while making 'test_dynamic'
CHENGANG/System-Timeout-0.07.tar.gz
C:\Dwimperl\c\bin\dmake.EXE test -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
reports CHENGANG/System-Timeout-0.07.tar.gz
Running make install
make test had returned bad status, won't install without force
C:\Windows\System32>ppm Par-Packer
如果有人有想法,那将很有帮助。我没有太多在 Perl 中安装模块的经验,使用 timeout_system 会非常好。
谢谢
更新:我最终选择了以下内容:
my $pid = fork();
if (!$pid) {
exec($command);
}
else {
sleep 100;
system("TASKKILL /F /T /PID $$");
}
哪个有效。