如何正确查看Linux机器内存使用情况 ========= ###背景 ??只要工作上涉及到Linux机器,基本上都会有这样一个需求,查看内存使用情况,但是怎么看才正确呢?之前使用的是top命令,一直存在一个误区。 ###为什么t...
分类:
系统相关 时间:
2015-02-18 19:56:32
阅读次数:
277
消息发送/接收APImsgsnd函数int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg);参数 msgid: 由msgget函数返回的消息队列标识码, 也可以是通过ipcs命令查询出来的一个已经存在的消息队列的ID号 msgp:是一个指针,指针指向准备发送的消息, msgsz:是msgp指向的消息长度, 注意...
分类:
系统相关 时间:
2015-02-18 19:55:57
阅读次数:
268
消息队列综合案例消息队列实现回射客户/服务器 server进程接收时, 指定msgtyp为0, 从队首不断接收消息server进程发送时, 将mtype指定为接收到的client进程的pid client进程发送的时候, mtype指定为自己进程的pidclient进程接收时, 需要将msgtyp指定为自己进程的pid, 只接收消息类型为自己pid的消息;// client/server进程接收/...
分类:
系统相关 时间:
2015-02-18 19:56:29
阅读次数:
304
1. 创建/获取一个消息队列#include /* For O_* constants */
#include /* For mode constants */
#include
mqd_t mq_open(const char *name, int oflag); //专用于打开一个消息队列
mqd_t mq_open(const char *name,...
分类:
系统相关 时间:
2015-02-18 19:55:53
阅读次数:
497
FIFO具名/命名管道 (匿名)管道应用的一个限制就是只能在具有共同祖先(具有亲缘关系)的进程间通信。 如果我们想在不相关的进程之间交换数据,可以使用FIFO文件来做这项工作,它经常被称为命名管道;命名管道是一种特殊类型的文件. 创建一个命名管道1)命名管道可以从命令行上创建: $ mkfifo 2)命名管道在程序里创建: #include
#include ...
分类:
系统相关 时间:
2015-02-18 18:52:05
阅读次数:
355
消息队列概述 消息队列提供了一个从一个进程向另外一个进程发送一块数据的方法(仅局限于本机); 每个数据块都被认为是有一个类型,接收者进程接收的数据块可以有不同的类型值. 消息队列也有管道一样的不足: (1)每个消息的最长字节数的上限(MSGMAX); (2)系统中消息队列的总条数也有一个上限(MSGMNI); (3)每个消息队列所能够保存的总字节数是有上限的(MSGMNB) . 查看系...
分类:
系统相关 时间:
2015-02-18 18:48:58
阅读次数:
275
十年运维系列之基础篇 - Linux作者:曾林联系:1494445739@qq.com网站:www.jplatformx.com版权:文章未经同意请勿转载一、引言 我们经常要在shell下执行命令行程序,而这些命令行程序需要经常使用文件名,因此shell提供了一些特殊字符来帮助快速指定或者筛选一.....
分类:
系统相关 时间:
2015-02-18 18:49:29
阅读次数:
271
刚刚学习android开发,把eclipse的一些快捷键随时记录下来1 ctrl+2 在弹出的一些设置里把一些方法里的变量为类的私有变量2.选中你要加注释的区域,用ctrl+shift+C 或者ctrl+/ 会加上//注释3.先把你要注释的东西选中,用shit+ctrl+/ 会加上/* */注释4....
分类:
系统相关 时间:
2015-02-18 18:46:01
阅读次数:
242
进程的同步与互斥 进程同步: 多个进程需要相互配合共同完成一项任务。 进程互斥: 由于各进程要求共享资源,而且有些资源需要互斥使用,因此各进程间竞争使用这些资源,进程的这种关系为进程的互斥;系统中某些资源一次只允许一个进程使用,称这样的资源为临界资源或互斥资源, 而在进程中涉及到互斥资源的程序段叫临界区. Linux IPC发展 Linux下的进程通信手段基本上是从UNIX平台上的进程...
分类:
系统相关 时间:
2015-02-18 17:40:16
阅读次数:
239
管道概念 管道是Unix中最古老的进程间通信的形式,我们把从一个进程连接到另一个进程的一个数据流称为一个“管道”, 管道的本质是固定大小的内核缓冲区; 如:ps aux | grep httpd | awk '{print $2}' 管道限制 1)管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道; 2)匿名管道只能用于具有共同祖先的进程(如父进程与fork...
分类:
系统相关 时间:
2015-02-18 17:41:21
阅读次数:
365
十年运维系列之基础篇 - Linux作者:曾林联系:1494445739@qq.com网站:www.jplatformx.com版权:文章未经同意请勿转载一、引言 在Linux系统中,文件系统布局与其他类Unix系统很相似。实际上,一个已经发布的名为Linux文件系统层次标准(Linux Fil.....
分类:
系统相关 时间:
2015-02-18 17:35:02
阅读次数:
261
信号分类 不可靠信号Linux信号机制基本上是从UNIX系统中继承过来的。早期UNIX系统中的信号机制比较简单和原始,后来在实践中暴露出一些问题,它的主要问题是: 1.进程每次处理信号后,就将对信号的响应设置为默认动作。在某些情况下,将导致对信号的错误处理;因此,用户如果不希望这样的操作,那么就要在信号处理函数结尾再一次调用signal(),重新安装该信号。 2.因此导致, 早期UNIX下...
分类:
系统相关 时间:
2015-02-18 16:27:12
阅读次数:
267
信号在内核中的表示 执行信号的处理动作称为信号递达(Delivery),信号从产生到递达之间的状态,称为信号未决(Pending)。进程可以选择阻塞(Block)某个信号。被阻塞的信号产生时将保持在未决状态,直到进程解除对此信号的阻塞,才执行递达的动作。 注意,阻塞和忽略是不同,只要信号被阻塞就不会递达,而忽略是在递达之后可选的一种处理动作。信号在内核中的表示可以看作是这样的: 图-...
分类:
系统相关 时间:
2015-02-18 16:28:34
阅读次数:
295
Sigaction#include
int sigaction(int signum, const struct sigaction *act,
struct sigaction *oldact);功能: sigaction函数用于改变进程接收到特定信号后的行为。参数 第一个参数为信号的值,可以为除SIGKILL及SIGSTOP外的任何一个特定有...
分类:
系统相关 时间:
2015-02-18 16:28:41
阅读次数:
397
三种不同精度的睡眠1.sleep#include
unsigned int sleep(unsigned int seconds);RETURN VALUE Zero if the requested time has elapsed, or the number of seconds left to sleep, if the call was interrupted by a sig...
分类:
系统相关 时间:
2015-02-18 16:28:26
阅读次数:
236
Ubuntu从6.10开始逐步用Upstart()代替原来的SysVinit进行服务进程的管理。RHEL(CentOS)也都从版本6开始转用Upstart代替以往的init.d/rcX.d的线性启动方式。 SysVinit守护进程(sysvinit软件包)是一个基于运行级别的系统,它使用运行级...
分类:
系统相关 时间:
2015-02-18 16:24:02
阅读次数:
407
中断 中断是系统对于异步事件的响应, 进程执行代码的过程中可以随时被打断,然后去执行异常处理程序; 计算机系统的中断场景:中断源发出中断信号 -> CPU判断中断是否屏蔽屏蔽以及保护现场 -> CPU(查询中断向量表, 找到中断服务程序的入口地址)执行中断处理程序 ->(处理完中断之后) ->恢复现场,继续执行原来的任务 中断分类硬件中断(外部中断) 外部中断是指由外部设备通过硬件请...
分类:
系统相关 时间:
2015-02-18 15:19:45
阅读次数:
230