wait 命令后面跟的参数是进程的id,根据我的理解,wait是等待某进程结束后再往下执行脚本,如果wait后不跟参数,就是等待以上所有进程都执行完后再往下执行脚本。
专注于为中小企业提供成都网站设计、成都网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业易县免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了1000+企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
按照你的意思,是要等待一段时间的,则应该用sleep 命令,sleep就是用来延迟一段时间用的,将wait 300 改成sleep 300才正确。
#wait 1
#command ...
wait命令用来等待指令的指令,直到其执行完毕后返回终端。该指令常用于shell脚本编程中,待指定的指令执行完成后,才会继续执行后面的任务。该指令等待作业时,在作业标识号前必须添加备份号"%"。 网页链接 学习linux
语法
wait(参数)
参数
进程或作业标示:指定进程号或者作业号。如果wait后面不带参数,那么wait会阻塞当前进程的执行,直至当前进程的所有子进程都执行结束后,才继续执行。
参数 -d 表示,显示设备(磁盘)使用状态;-k某些使用block为单位的列强制使用Kilobytes为单位;1 10表示,数据显示每隔1秒刷新一次,共显示10次。
%user:CPU处在用户模式下的时间百分比。
%nice:CPU处在带NICE值的用户模式下的时间百分比。
%system:CPU处在系统模式下的时间百分比。
%iowait:CPU等待输入输出完成时间的百分比。
%steal:管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比。
%idle:CPU空闲时间百分比。
disk属性值说明:
rrqm/s: 每秒进行 merge 的读操作数目。即 rmerge/s
wrqm/s: 每秒进行 merge 的写操作数目。即 wmerge/s
r/s: 每秒完成的读 I/O 设备次数。即 rio/s
w/s: 每秒完成的写 I/O 设备次数。即 wio/s
rsec/s: 每秒读扇区数。即 rsect/s
wsec/s: 每秒写扇区数。即 wsect/s
rkB/s: 每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节。
wkB/s: 每秒写K字节数。是 wsect/s 的一半。
avgrq-sz: 平均每次设备I/O操作的数据大小 (扇区)。
avgqu-sz: 平均I/O队列长度。
await: 平均每次设备I/O操作的等待时间 (毫秒)。
svctm: 平均每次设备I/O操作的服务时间 (毫秒)。
%util: 一秒中有百分之多少的时间用于 I/O 操作,即被io消耗的cpu百分比
上面看到,磁盘每秒传输次数平均约400;每秒磁盘读取约5MB,写入约1MB。
可以看到磁盘的平均响应时间5ms,磁盘使用率80。磁盘响应正常,但是已经很繁忙了(主要是看%util和svctm)。
如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。 idle小于70% IO压力就较大了,一般读取速度有较多的wait。
同时可以结合vmstat 查看查看b参数(等待资源的进程数)和wa参数(IO等待所占用的CPU时间的百分比,高过30%时IO压力高)。
另外 await 的参数也要多和 svctm 来参考。差的过高就一定有 IO 的问题。avgqu-sz 也是个做 IO 调优时需要注意的地方,这个就是直接每次操作的数据的大小,如果次数多,但数据拿的小的话,其实 IO 也会很小。如果数据拿的大,才IO 的数据会高。也可以通过 avgqu-sz × ( r/s or w/s ) = rsec/s or wsec/s。也就是讲,读定速度是这个来决定的。
svctm 一般要小于 await (因为同时等待的请求的等待时间被重复计算了),svctm 的大小一般和磁盘性能有关,CPU/内存的负荷也会对其有影响,请求过多也会间接导致 svctm 的增加。await 的大小一般取决于服务时间(svctm) 以及 I/O 队列的长度和 I/O 请求的发出模式。如果 svctm 比较接近 await,说明 I/O 几乎没有等待时间;如果 await 远大于 svctm,说明 I/O 队列太长,应用得到的响应时间变慢,如果响应时间超过了用户可以容许的范围,这时可以考虑更换更快的磁盘,调整内核 elevator 算法,优化应用,或者升级 CPU。
参考资料:
redhat linux的命令
一. 启动,关机,登入,登出相关命令
login 登录
logout 登出
exit 登出
shutdown 停止系统
halt 停止系统
reboot 重启动
poweroff 切断电源
sync 把内存里的内容写入磁盘
lilo 安装lilo启动管理程序
grub 安装lilo启动管理程序
二. Shell相关命令
chsh 切换Shell
history 显示命令履历
alias 设置命令别名
unalias 取消命令别名
which 显示命令所在位置
type 查询命令种类
echo 显示字符串或者变量内容
set 设置/显示Shell变量
printenv 显示环境变量
export 设置环境变量
env 设置临时环境变量
unset 释放环境变量
setenv 设置环境变量
unsetenv 释放环境变量
source 执行文件当中的命令
man 查询命令手册
info 查询超文本命令手册
whatis 显示命令简介
apropos 通过关键字查询手册
三. 用户管理相关命令
su 切换到其他用户
useradd 追加用户
adduser 追加用户
userdel 删除用户
usermod 修改用户设置
chfn 修改用户私人信息
groupadd 追加组
groupdel 删除组
groupmod 修改组设置
passwd 更改密码
whoami 显示用户名
logname 显示登录用户帐号
users 显示所有登录用户信息
who 查询登录用户信息
w 查询登录用户信息
id 显示指定用户的ID信息
groups 显示指定用户的所属组
finger 显示指定用户的个人信息
mesg 开关与他人收发消息
write 给其他用户发消息
wall 给所有用户发消息
talk 和其他用户聊天
四. 系统消息相关命令
date 显示/设置当前时间
uptime 显示系统运行时间
arch 显示机器的核心构架(如i386)
uname 显示操作系统信息
tty 显示终端名
last 显示登录/登出在履历
lastb 显示非法登录信息
dumpkeys 显示当前键盘配置
loadkeys 变更键盘配置
df 查询磁盘使用信息
du 查询磁盘使用信息
dmesg 显示系统启动消息
script 保存输入输出到文件
五. 文件操作相关命令
ls 显示文件列表
tree 显示目录树
pwd 显示当前路径
cd 更改当前路径
pushd 追加路径到目录堆栈
popd 从目录堆栈删除路径
dirs 显示目录堆栈的内容
mkdir 创建路径
rmdir 删除路径
cp 复制文件/目录
rm 删除文件/目录
mv 移动文件/目录,修改文件名
chown 更改文件/目录的所有者
chgrp 修改文件/目录的所有组
chmod 修改文件/目录的权限
touch 更改文件时间
ln 建立文件/目录链接
find 查找文件
whereis 显示文件存在的路径名
file 查询文件种类
size 查询文件大小
六. 文件编辑相关命令
cat 显示文件内容
tee 输出到文件和屏幕
more 分屏显示文件内容
less 分屏显示文件内容
head 显示文件头部内容
tail 显示文件尾部内容
fold 折叠显示长行
sort 排列文件的行
cmp 比较文件内容
diff 显示文件差异
nkf 更改日语文件编码
dd 变更文件之后复制
wc 统计文本单词数,文件大小等
split 分割文件
paste 以行连接文件
join 以字段连接文件
grep 查询文字
uniq 过滤重复部分显示文件内容
tr 替换文字
sed 替换文字
七. 压缩/解压缩相关命令
ar 压缩/解压缩文件
tar 压缩/解压缩文件
compress 压缩/解压缩文件
uncompress 解压缩
gzip 压缩/解压缩文件
gunzip 解压缩
zcat 显示压缩文件的内容
lha 压缩/解压缩文件
uuencode 把二进制文件编码为文本文件
uudecode 把经过编码的文本文件还原为二进制文件
八. MS-DOS工具集[mtools]命令
mdir 显示文件列表
mcd 改变当前目录
mmd 新建目录
mrd 删除目录
mdeltree 删除目录树
mcopy 复制文件
mdel 删除文件
mmove 移动文件
mren 更改文件或目录名
mattrib 修改文件属性
mtype 显示文件内容
mdu 查询文件或目录大小
minfo 显示磁盘信息
mformat 以MS-DOS方式格式化磁盘
mlabel 设置磁盘标签
九. 控制外部设备相关命令
mount mount上设备
umount 解除已经mount上的设备
eject 弹出(CD/DVD等)
fdformat 格式化软盘
fdisk 配置/显示硬盘分区
mkfs 格式化磁盘分区
fsck 检查/修复磁盘错误
lpr 打印到打印机
lprm 中断打印任务
lpq 显示打印任务的状态
lpc 管理/控制打印任务
ifconfig 显示/设定NIC配置
十. 进程及任务管理相关命令
ps 显示正在运行的进程
jobs 显示后台运行任务
fg 把任务切换到前台
bg 把任务切换到后台
kill 中止进程或任务
killall 中止进程或任务
wait 等待进程或任务的结束
at 设置定时执行任务
atq 显示尚未执行的任务
atrm 删除定时执行任务
batch 在系统负荷减轻的时候执行任务
nice 改变优先度并执行任务
nohup 在后台执行任务,Logout之后也不退出
sleep 休眠一定的时间
十一. 网络管理相关命令
netstat 显示当前网络连接状况
route 显示/设置路由
host 显示网络主机情况
hostname 显示/设置当前主机的名字
ping 确认和远程机器的连接情况
traceroute 显示路由信息
rwho 查询网上机器的登陆用户
ruptime 查询网上机器的系统运行时间
rlogin 登陆到远程机器
telnet 用telnet登陆到远程机器
rsh 给远程机器发送命令
rcp 在远程机器之间复制文件
mail 收取邮件
sendmail 发送邮件
mailq 确认邮件队列
ftp 用ftp传输文件
十二. 其他命令
cal 显示日历
clear 清屏
gcc 编译C语言代码
as 汇编
bc 计算
rpm Redhat的包管理
dpkg Debian的包管理
installpkg Slackware的包安装(删除命令则是removepkg)
XF86Setup,turboxfg,Xconfigurator 配置 X 服务器
startx 启动 X-Window 系统
附:组合命令
重定向,如
$ ls -l /bin ls-output
$ more ls-output
管道命令,如
$ cat file1 file2 | sort | uniq
经常被用于管道的命令
awk, fold, grep, head, nnkf, pr, sed, sort, tail, tee, tr, uniq, wc
很多了
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款