免费注册 查看新帖 |

Chinaunix

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

删除消息队列的shell [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-09-05 13:50 |只看该作者 |倒序浏览
ipcs -q | grep '^[0-9]' | awk '{system("ipcrm msg "$2""}'

论坛徽章:
0
2 [报告]
发表于 2003-09-05 13:53 |只看该作者

删除消息队列的shell

请教一下awk里的system函数是做什么用滴~ ^^

论坛徽章:
0
3 [报告]
发表于 2003-09-05 14:05 |只看该作者

删除消息队列的shell

也可以用下面的方法实现删除消息队列,不过要麻烦一些。
for item in  `ipcs -q | grep '^[0-9]' | awk '{print $2}'`
do
ipcrm msg $item >/dev/null
done

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-01-24 06:20:00
4 [报告]
发表于 2003-09-05 14:28 |只看该作者

删除消息队列的shell

楼主用什么系统?@@我这ipcs -q的结果有点不太一样(OS:Solaris,以下为命令输入的开头一部分(太长,后边也无特殊的行):
IPC status from <running system> as of Fri Sep  5 14:18:57 CST 2003
T         ID      KEY        MODE        OWNER    GROUP
Message Queues:
q          0   0x44c      -Rrw-rw-rw-   oracle      dba
q          1   0x4b0      -Rrw-rw-rw-   oracle      dba
q          2   0xb5e      -Rrw-rw-rw-   oracle      dba
q          3   0xb68      -Rrw-rw-rw-   oracle      dba
q          4   0x514      --rw-rw-rw-   oracle      dba
q          5   0xb72      -Rrw-rw-rw-   oracle      dba
q          6   0x578      --rw-rw-rw-   oracle      dba
q          7   0xb7c      -Rrw-rw-rw-   oracle      dba
q          8   0x5dc      --rw-rw-rw-   oracle      dba
q          9   0xb86      -Rrw-rw-rw-   oracle      dba
q         10   0x640      --rw-rw-rw-   oracle      dba
q         11   0xb90      -Rrw-rw-rw-   oracle      dba
q         12   0x3e8      --rw-rw-rw-   oracle      dba


这样第一个管道后的grep命令参数有点问题了....grep "^q"就行了...

论坛徽章:
0
5 [报告]
发表于 2003-09-05 14:30 |只看该作者

删除消息队列的shell

我也纳闷呢.....我的和minsic一样....

论坛徽章:
0
6 [报告]
发表于 2003-09-05 14:40 |只看该作者

删除消息队列的shell

------ Message Queues --------
key        msqid      owner      perms      used-bytes   messages   
0x00000000 0          wqr        700        0            0           
0x0d088089 32769      wqr        666        0            0

论坛徽章:
0
7 [报告]
发表于 2003-09-05 15:14 |只看该作者

删除消息队列的shell

ipcrm -q `ipcs|awk '{if($1=="q"print $2}'

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-01-24 06:20:00
8 [报告]
发表于 2003-09-05 15:19 |只看该作者

删除消息队列的shell

[quote]原帖由 "林子"]ipcrm -q `ipcs|awk '{if($1=="q"print $2}'[/quote 发表:
  
抄袭一句   
  1. ipcrm -q`ipcs |awk '$1~/^q/ {print $2}'`
复制代码
   

但这样有问题吧... 还是得用循环.....
  1. #!/bin/sh
  2. for i in `ipcs |awk '$1~/^q/ {print $2}'`
  3. do
  4.   ipcrm -q $i
  5. done
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP