Chinaunix首页 | 论坛 | 博客
  • 博客访问: 45270
  • 博文数量: 13
  • 博客积分: 462
  • 博客等级: 下士
  • 技术积分: 105
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-14 10:57
文章分类

全部博文(13)

文章存档

2012年(2)

2011年(3)

2009年(5)

2008年(3)

我的朋友

分类: LINUX

2011-12-14 15:58:55

ipcs 命令
  用途
  报告进程间通信设施状态。
  语法
  ipcs [ -m] [ -q] [ -s] [ -S] [ -P] [ -l] [ -a | -b -c -o -p -t] [ -T] [ -C CoreFile] [ -N Kernel ]
  描述
  ipcs 命令往标准输出写入一些关于活动进程间通信设施的信息。如果没有指定任何标志,ipcs 命令用简短格式写入一些关于当前活动消息队列、共享内存段、信号量、远程队列和本地队列标题。
  列标题和在 ipcs 命令中的列的含义列在下面。圆括号内的字母表示导致对应的报头出现的标志。all 设计符表示始终显示报头。这些标志仅仅确定提供给每个设备何种信息。但它们并不确定将列出哪些设备。
  T (all)设施的类型。共有三种设施类型:
  q
  消息队列
  m
  共享内存段
  s
  信号量 
  ID (all)设施项的标识。
  KEY (all)用作 msgget 子例程、semget 子例程或者 shmget 子例程的参数的键构成了设施项。
  注: 当除去内存段时,共享内存段的密钥改变为 IPC_PRIVATE,直到所有附加在段上的进程和它拆离。
  MODE (all)设施访问方式和标志。这种方式由 11 个字符组成,解释如下:
  前两个字符如下所示:
  R
  如果进程在等待 msgrcv 系统调用。
  S
  如果进程在等待 msgsnd 系统调用。
  D
  如果有关的共享内存段被除去。当附加在段上的最后一个进程拆离后它就会消失。
  C
  当第一个附加进程运行时,如果有关的共享内存段被清空。
  -
  如果没有设置相应的特定标志。
  接下来的九个字符作为每三个一组解释。第一组是指拥有者有许可权;第二组是指在设施项的用户组中其他用户的许可权;最后一组指所有的用户。在每组中,第一个字符表示允许读,第二个字符表示可以写或者修改设施项,最后一个字符当前没有用过。
  权限如下所示:
  r
  如果授予了读许可权。
  w
  如果授予了写许可权。
  a
  如果授予了修改许可权。
  -
  如果没有授予指定的许可权。 
  OWNER (all)设施项所有者的登录名。
  GROUP (all)拥有设施项的组名。
  CREATOR (a、c)设施项创建者的登录名。
  CGROUP (a、c)设施项创建者的组名。
  注: 对于 OWNER、GROUP、CREATOR 和 CGROUP,显示用户和组的标识而不显示登录名。
  CBYTES (a、o)当前停留在相关消息队列中的消息的字节数。
  QNUM (a、o)当前停留在相关消息队列中的消息的字节数。
  QBYTES (a、b)停留在相关消息队列中消息允许的最大字节数。
  LSPID (a、p)发送消息到相关队列的最后进程的标识。如果发送的最后一条消息是来自节点上的进程而不是保留该节点的队列,LSPID 是真正把消息放进队列的内核进程的 PID,而不是发送进程的 PID。
  LRPID (a、p)接收来自相关队列的消息的进程标识。如果接收的最后一条消息来自一个节点上的进程而不是保留该队列的节点,LRPID 是真正接收队列上消息的内核进程的 PID ,而不是接收进程的 PID。
  STIME (a、t)最后一条消息发送到相关队列的时间。对于远程队列,这是服务器时间。没有做任何措施来补偿本地时钟和服务器时钟之间的时区差异。
  RTIME (a、t)接受最后一条来自相关队列的消息的时间。对于远程队列来说,这是服务器时间。没有做任何措施来补偿本地时钟和服务器始终之间的时区差异。
  CTIME (a、t)创建和改变相关项的时间。对于远程队列,这是服务器时间。没有做任何措施来本地时钟和服务器时钟之间的任何时区差异。
  NATTCH (a、o)连接在关联的共享内存段的进程数。
  SEGSZ (a、b)关联的共享内存段的大小。
  CPID (a、p)共享内存项的创建程序的进程标识。
  LPID (a、p)连接或者拆离共享内存段的最后一个进程的标识。
  ATIME (a、t)最后一次与关联的共享内存段完成连接的时间。
  DTIME (a、t)最后一次与关联的共享内存段完成拆离的时间。
  NSEMS (a、b)在与信号项相关联的信号集中的信号量数量。
  OTIME (a、t)在关联的信号量中完成信号量操作的时间。
  SID (S)共享内存段的标识。SID 可以用作 svmon -S 命令的输入。
  该命令支持多字节字符集。
  标志
  -a 使用 -b、-c、-o、-p 和 -t 标志。
  -b 写入消息队列的队列上消息的最大字节数、共享内存段的大小、每个信号量集中信号量的数量。
  -c 写入构建该设施的用户的登录名和组名称。
  -CCoreFile 用由 CoreFile 参数指定的文件来代替 /dev/mem 文件。CoreFile 参数是由 Ctrl-(left)Alt-Pad1 按键顺序创建的内存映象文件。
  -l 当和 -S 标志一起使用时,该标志写入未展开的 SID 列表。
  -m 写入一些关于活动共享内存段的信息。
  -NKernel 用指定的 Kernel( /usr/lib/boot/unix 文件是缺省的)。
  -o 写以下的使用信息:
  队列上的消息数
  消息队列上消息的总字节数
  连接在共享内存段上的进程数
  -p 写进程编号的信息:
  最后接收消息队列上消息的进程号
  最后在消息队列上发送消息的进程号
  创建进程的进程号
  最后一个连接或拆离共享内存段的进程编号
  -P 写入与共享内存标识有关的 SID(段标识)列表,以及保留在那个段中的字节数,和段是否已启用大页的标志符。如果段支持大页面,就显示一个 'Y',否则显示一个 '-'。
  -q 写入一些关于活动消息队列的信息。
  -s 写入一些关于活动信号量集的信息。
  -S 写入连接在共享内存标识上的 SID 列表。
  -t 写入时间信息:
  最后一次更改所有设备访问许可权的控制操作的时间。
  消息队列上最后一次执行 msgsnd 和 msgrcv 的时间。
  共享内存上最后一次执行 shmat 和 shmdt 的时间。
  在信号量集上最后一次执行 semop 的时间。
  -T 写入带有日期的 -t 标记的输出。
  注:
  如果用户指定 -C 或者 -N 标记,实型和有效的 UID/GID 设置为调用 ipcs 的用户的实型 UID/GID。
  当运行 ipcs 时可以更改值;仅当检索它时它给出的信息才保证是正确的。

ipcrm 命令

    用途 
    删除消息队列、信号集、或者共享内存标识。 

    语法 
    ipcrm [ -m SharedMemoryID ] [ -M SharedMemoryKey ] [ -q MessageID ] [ -Q MessageKey ] [ -s SemaphoreID ] [ -S SemaphoreKey ] 

    描述 
    ipcrm 命令删除一个或更多的消息队列、信号量集或者共享内存标识。 

    标志 

    -m SharedMemory ID 删除共享内存标识 SharedMemoryID 。与 SharedMemoryID 有关联的共享内存段以及数据结构都会在最后一次拆离操作后删除。 
    -M SharedMemoryKey 删除用关键字 SharedMemoryKey 创建的共享内存标识。与其相关的共享内存段和数据结构段都将在最后一次拆离操作后删除。 
    -q MessageID 删除消息队列标识 MessageID 和与其相关的消息队列和数据结构。 
    -Q MessageKey 删除由关键字 MessageKey 创建的消息队列标识和与其相关的消息队列和数据结构。 
    -s SemaphoreID 删除信号量标识 SemaphoreID 和与其相关的信号量集及数据结构。 
    -S SemaphoreKey 删除由关键字 SemaphoreKey 创建的信号标识和与其相关的信号量集和数据结构。 

    msgctl  shmctl  semctl 子例程提供了删除操作的细节。标识和关键字可以用 ipcs 命令找到。 

    示例 
    如果要删除和 SharedMemoryID 18602 相关的共享内存段,请输入: 

    ipcrm -m 18602


      Nameipcclean --  从退出的PostgreSQL服务器中删除共享内存和信号灯
      Synopsis

      ipcclean

      描述

      ipcclean 删除当前用户拥有的所有共享内存段和 信号灯集.它的目地是在 PostgreSQL 服务器 () 崩溃之后进行清理. 请注意的是立即重起服务器也会清理共享内存和信号灯,所以这条命令 实际上用处不大.

      应该只有数据库管理员可以运行这条命令,因为如果在多用户的环境中 执行,它会导致怪异的行为(也就是说,崩溃). 如果在postmaster运行时执行这条命令, postmaster分配的共享内存和信号灯将被删除。 这通常会导致该postmaster 启动的后端服务器 的普遍失败。



阅读(826) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

wwmshe2012-05-04 15:23:49

学习了。