在32K下使用ulimit堆栈的shell脚本时出现“无空间”错误

在32K下使用ulimit堆栈的shell脚本时出现“无空间”错误,shell,ksh,Shell,Ksh,目标是使用内存收集关于前10个进程的信息。这将有助于确定一段时间内的顶级用户。正在使用以下脚本。但是,在达到32K限制后,它在一段时间后停止,没有空间误差 #!/usr/bin/ksh while : do today=`date +"%Y%m%d_%H%M%S"` top=`svmon -P` sum=`svmon -P -t10 -O summary=basic` echo "$today" >> svmonps.out echo "$t

目标是使用内存收集关于前10个进程的信息。这将有助于确定一段时间内的顶级用户。正在使用以下脚本。但是,在达到32K限制后,它在一段时间后停止,没有空间误差

#!/usr/bin/ksh

while :
do
    today=`date +"%Y%m%d_%H%M%S"`
    top=`svmon -P`
    sum=`svmon -P -t10 -O summary=basic`
    echo "$today" >> svmonps.out
    echo "$top" >> svomonps.out
    echo "$sum" >> svmonps.out
    sleep 30
done
exit 0
当前ulimit-堆栈KB的设置为32768。我们可以修改脚本以继续执行ulimit限制吗


提前感谢。

您可以放弃使用这些变量和子shell。 直接在文件中运行date和svmon,或者更好地在标准输出中运行,并在调用脚本时附加到svmonps.out

看看这个:

#!/usr/bin/ksh

while :; do
    date +"%Y%m%d_%H%M%S"
    svmon -P
    svmon -P -t10 -O summary=basic
    sleep 30
done
exit 0
当您运行脚本时,按如下方式运行它以附加到文件:

$myScript>>svmonps.out