毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> linux >> 正文

shell根据查询出的shmid 来杀掉相应的进程

更新时间:2012-6-1:  来源:毕业论文

想写一个shell,根据查询出的shmid 来杀掉相应的进程
[root@Sender2 ~]# ipcs -m

------ Shared Memory Segments --------
key shmid owner perms bytes nattch status  
0x010320fc 393216 root 666 2588160 2  
0x01032393 425985 root 666 2588160 2  
0x000320fc 458754 root 666 35716608 2  
0x00032393 491523 root 666 35716608 2  
0x650320fc 524292 root 666 67292160 2  
0x65032393 557061 root 666 67292160 2  
0x660320fc 589830 root 666 32093184 2  
0x66032393 622599 root 666 32093184 2  
0x670320fc 655368 root 666 7246848 2  
0x67032393 688137 root 666 7246848 2  
0x680320fc 720906 root 666 517632 2  
0x68032393 753675 root 666 517632 2  
0x690320fc 786444 root 666 8282112 2  
0x69032393 819213 root 666 8282112 2  

[root@Sender2 ~]#ipcrm shm 392316

ipcrm shm 命令只能一条一条的删,而且每次启动后,这些shmid还会变,有能帮我的么?
试试
ipcs -m | awk '$1~/0x/ {print "ipcrm -M", $1}' | sh

[User:root Time:20:23:11 Path:/home/liangdong/shell]$ cat test.sh
#!/bin/sh

function ipc_remove() {
        row=0;
        ipcs -$1 | grep -v ^$ | while read line; do
                if [ "$row" -ge "2" ];then
                        echo $line;
                        shmid=`echo $line | awk '{print $2}'`;
                        if [ "$shmid" -ne "0" ];then
                                ipcrm -$1 $shmid
                        fi
                fi
                let row=$row+1
        done
}

ipc_remove "m";
ipc_remove "s";
ipc_remove "q";

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。