免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1423 | 回复: 1
打印 上一主题 下一主题

关于消息队列的shell,大家看如何写? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-04-06 15:57 |只看该作者 |倒序浏览
我想实现功能,当用ipcs -apq 发现某个消息队列中有未读出的字符时(CBYTES > 0),用同样命令将写入和读出消息队列的进程号打印出来,这样就可以了。
是一个无限循环,必须cBytes >0 才退出,并打印ipcs -apq内容。

谢谢,各位的回答!!

论坛徽章:
0
2 [报告]
发表于 2004-04-06 16:01 |只看该作者

关于消息队列的shell,大家看如何写?

if [ $# -lt 1 ]
then
  echo "使用方法:\t$0 消息队列号"
  echo "注    意:\t请用双引号将消息队列号扩起来"
  echo "例    如:  \t$0 0x000007d1\n"
  exit;
fi
args=0;
while [ args -eq 0 ]
do
  args=`ipcs -aqp |grep $1 |awk '{print $9}'`
  echo $args;
done
echo $args
ipcs -apq >ipcs.txt
exit 0;

以上基本上能处理了,但还有一个问题:
1)只能每次处理一个消息队列,要处理多个的话,就出现while [ args -eq 0 ]语句出错,原因是args是多个返回值(数组的形式)而while语句只是单个数值比较。
2)还有shell中如何在echo中打印""  双引号?

不知我写的shell还有没有其他问题,请高手指正!!谢谢!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP