wait命令linux的简单介绍

linux 一个sh小脚本,这里的wait用的对吗?为什么不是sleep?wait可以这么用吗?

wait 命令后面跟的参数是进程的id,根据我的理解,wait是等待某进程结束后再往下执行脚本,如果wait后不跟参数,就是等待以上所有进程都执行完后再往下执行脚本。

专注于为中小企业提供成都网站设计、成都网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业易县免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了1000+企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

按照你的意思,是要等待一段时间的,则应该用sleep 命令,sleep就是用来延迟一段时间用的,将wait 300 改成sleep 300才正确。

linux 假设我的linux现在有个进程1在执行,我想等1执行完之后执行下一个任务,该怎么做?|

#wait 1

#command ...      

wait命令用来等待指令的指令,直到其执行完毕后返回终端。该指令常用于shell脚本编程中,待指定的指令执行完成后,才会继续执行后面的任务。该指令等待作业时,在作业标识号前必须添加备份号"%"。  网页链接  学习linux

语法     

wait(参数)

参数

进程或作业标示:指定进程号或者作业号。如果wait后面不带参数,那么wait会阻塞当前进程的执行,直至当前进程的所有子进程都执行结束后,才继续执行。

Linux iostat命令详解

参数 -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。

参考资料:

Linux系统中的redhat的常用输入命令有哪些?

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

很多了


本文题目:wait命令linux的简单介绍
URL分享:http://myzitong.com/article/hgojcd.html