Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5287508
  • 博文数量: 1144
  • 博客积分: 11974
  • 博客等级: 上将
  • 技术积分: 12312
  • 用 户 组: 普通用户
  • 注册时间: 2005-04-13 20:06
文章存档

2017年(2)

2016年(14)

2015年(10)

2014年(28)

2013年(23)

2012年(29)

2011年(53)

2010年(86)

2009年(83)

2008年(43)

2007年(153)

2006年(575)

2005年(45)

分类: LINUX

2009-12-09 11:56:49

#!/usr/local/bin/perl

# to make a disk go nuts

use strict;

my $dir = '/var'; # director to put a test file
my $ttr = 600; # time to run

my @children;
for(1..3){
	my $pid = fork();
	if($pid){
		# parent
		push @children, $pid;
	}elsif($pid == 0){
		# child
		eval {
			local $SIG{ALRM} = sub { die "finished.\n"; };
			alarm($ttr);
			while(1){
				open(ZERO, "/dev/zero") || die "cannot read from zero: $!\n";
				my $x;
				sysread(ZERO, $x, 10240000);
				close ZERO;
				open(FILE, ">${dir}/pegio.$$") || die "cannot write to $dir/pegio.$$: $!\n";
				print FILE $x;
				close FILE;
			}
			alarm(0);
		};
		unlink("$dir/pegio.$$") || warn "could not unlink $dir/pegio.$$\n";
		alarm(0);
		warn $@ if($@);
		exit;
	}else{
		die "couldnt fork: $!\n";
	}
}

foreach(@children){
	waitpid($_,0);
}
阅读(580) | 评论(0) | 转发(0) |
0

上一篇:mailqoute.pl

下一篇:perlpop.pl

给主人留下些什么吧!~~