⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dtciot

📁 Linux磁盘测试的源代码,测试磁盘的读写性能
💻
字号:
#!/bin/tclsh##	Date:	November 8th, 1999#	Author:	Robin T. Miller##	Description:	[ My first Tcl program, yea! ]##	This script is used for testing CD-ROM's using the IOT Test Disc.## Arguments:#	1	The device name.#	2	The log file name.#	3	The block limit.#	4	The block size(s).#	5	The pass count.#	6	Enable debug flag.#set PROGRAM [file tail $argv0]if {$argc < 1} {    puts stderr "Usage: $PROGRAM device \[ log_file data_limit block_sizes pass_count debug \]"    puts stderr "Example: $PROGRAM rrz4c rrd42.log 250m &"    exit 1}## Local Definitions:#set END_OF_FILE		254set FAILURE		-1set SUCCESS		0set TRUE		1set FALSE		0## Local Variables:#set DebugFlag		$FALSEset ErrorCount		0set ExitStatus		$SUCCESSset ExitOnError		$FALSEset NoisyFlag		$TRUEset StartTime		[clock seconds]set DateString		[clock format [clock seconds] -format "%b%d,%Y"]## Grab/construct the device name first.#set Device [lindex $argv 0]if { ![string match {/dev*} $Device] } {    set Device "/dev/$Device"}incr argc -1## Set Default Parameters:#set DEF_BLOCK_SIZES	{128k 64k 32k 16k 5k 2k 1b}set DEF_DATA_LIMIT	{limit=650m}set DEF_DEBUG_FLAG	$FALSEset DEF_DEBUG_OPTS	{enable=dump}set DEF_LOG_FILE	"$PROGRAM-[file tail $Device]-$DateString.log"set DEF_PASS_COUNT	1## Parse Remaining Arguments:#if { $argc } {    set LogFile [lindex $argv 1]    incr argc -1}if { $argc } {    set DataLimit "limit=[lindex $argv 2]"    incr argc -1}if { $argc } {    set BlockSizes "[lindex $argv 3]"    incr argc -1}if { $argc } {    set PassCount [lindex $argv 4]    incr argc -1}if { $argc } {    set DebugFlag $TRUE    set DebugOpts "enable=[lindex $argv 5]"    incr argc -1}## Set Variables NOT Specified by the User:#if { ![info exists BlockSizes] || ![string length $BlockSizes] } {    set BlockSizes $DEF_BLOCK_SIZES}if { ![info exists DataLimit] || ![string length $DataLimit] } {    set DataLimit $DEF_DATA_LIMIT}if { ![info exists DebugFlag] }		{ set DebugFlag  $DEF_DEBUG_FLAG }if { ![info exists DebugOpts] }		{ set DebugOpts  $DEF_DEBUG_OPTS }if { ![info exists LogFile] || ![string length $LogFile] } {    set LogFile $DEF_LOG_FILE}if { ![info exists PassCount] || ![string length $PassCount] } {     set PassCount $DEF_PASS_COUNT}if { [string compare $tcl_platform(os) "OSF1"] == 0 } {    set DT_OPTS "aios=4"} else {    set DT_OPTS "procs=4"}if [file exists $LogFile] {    catch {file delete $LogFile}}set iotype sequentialforeach bs $BlockSizes {    if [catch {exec dt if=$Device align=rotate bs=$bs $DataLimit $DebugOpts \	iotype=$iotype log=$LogFile pattern=iot passes=$PassCount $DT_OPTS} result] {	if { $DebugFlag } {#	    puts stderr "$PROGRAM: Command failed with status = '$result'"	    puts stderr "$PROGRAM: $errorInfo"	    puts stderr "$PROGRAM: $errorCode"	}	set errno [lindex $errorCode 2]	if { $errno == $END_OF_FILE } {	    # end of file is Ok	} else {	    incr ErrorCount	    if { $ExitOnError } break	}    } else {        # success!    }    #    # Alternate between sequential and random I/O.    #    if { [string compare $iotype "sequential"] == 0 } {	set iotype random    } else {	set iotype sequential    }}if { $ErrorCount } {    puts "$PROGRAM: Encountered $ErrorCount errors, please review $LogFile!"     set ExitStatus $FAILURE}if { $NoisyFlag } {    puts ""    puts "        Script Name: $PROGRAM"    puts "      Device Tested: $Device"    puts "    Errors Detected: $ErrorCount"    puts "          Host Name: [info hostname]"    puts "         Start Time: [clock format $StartTime]"    puts "           End Time: [clock format [clock seconds]]"    puts ""}exit $ExitStatus

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -