关于linux命令ipcs--自学

来源:互联网 发布:阿尔法狗算法 编辑:程序博客网 时间:2024/06/06 09:20

也许这篇文章对很多人来说,看就是浪费时间。但是对于我来说,还是能收获很多的。

文章不是写给别人的,而是写给自己的,相当于是自己的笔记吧,以后翻阅起来,应该还是很方便。


ipcs:说实话,直到今天使用之前,我还真不知道有这个命令,他是干什么的,就更不知道了。

用它的起源是因为在执行一个程序之后,由于关闭失败,所以使用kill -9给强制杀死了。

很快就发现悲剧:程序起不起来了。查看日志,日志里面写的是:share memory block(key  , id ) is still is use.

开始看到这个日志的时候,真的是百思不得其解。我ps查看了一下进程,并没有日志中的那个id呀,这究竟是怎么回事呢?

由于在用户那不能上网,所以只好请求同事支援。

很快就给我发了一个命令:ipcrm,让自己man一下。查看一一下发现该命令作用是:除一个或更多的消息队列、信号量集或者共享内存标识。

哦,顿时明白了一点:应该是我这个程序异常终止的时候内存没有释放掉,所以启动的时候出了问题。于是果断ipcrm -m id

可以这样操作完成之后,那个共享内存真的删除了吗?这个还真不知道。当时我认为最简单的办法是再次启动一下程序,然后看有木有问题。

可是后来同事又告诉了一个神奇的命令:ipcs。 果断man了一下,确实很牛x啊,这可比我的笨方法简单多了。ipcs -m。 好了,所有共享内存就看到了。

虽然不知什么原因,那个共享内存一致木有杀掉,最后只好重启了电脑。

但是庆幸的是学习了两个命令:iprcm和ipcs

希望这两个对大家有所帮助。




0 0
原创粉丝点击