IPCS(1)                                                                IPCS(1)


NAME
     ipcs - report inter-process communication facilities status

SYNOPSIS
     ipcs [ options ]

DESCRIPTION
     ipcs prints certain information about active inter-process communication
     facilities for which the calling process has read access.  Without
     options, information is printed in short format for message queues,
     shared memory, and semaphores that are currently active in the system.
     Otherwise, the information that is displayed is controlled by the
     following options:

     -q      Print information about active message queues.

     -m      Print information about active shared memory segments.

     -s      Print information about active semaphores.


     If any of the options -q, -m, or -s are specified, information about only
     those indicated will be printed.  If none of these three are specified,
     information about all three will be printed subject to these options:


     -b   Print biggest allowable size information.  (Maximum number of bytes
          in messages on queue for message queues, size of segments for shared
          memory, and number of semaphores in each set for semaphores.)  See
          below for meaning of columns in a listing.

     -c   Print creator's login name and group name.  See below.

     -o   Print information on outstanding usage.  (Number of messages on
          queue and total number of bytes in messages on queue for message
          queues and number of processes attached to shared memory segments.)

     -p   Print process number information.  (Process ID of last process to
          send a message and process ID of last process to receive a message
          on message queues and process ID of creating process and process ID
          of last process to attach or detach on shared memory segments)  See
          below.

     -t   Print time information.  (Time of the last control operation that
          changed the access permissions for all facilities.  Time of last
          msgsnd and last msgrcv on message queues, last shmat and last shmdt
          on shared memory, last semop(2) on semaphores.)  See below.

     -a   Use all print options.  (This is a shorthand notation for -b, -c,
          -o, -p, and -t.)


     -C corefile
          Use the file corefile in place of /dev/kmem.

     -N namelist
          The argument will be taken as the name of an alternate namelist
          (/unix is the default).

     The column headings and the meaning of the columns in an ipcs listing are
     given below; the letters in parentheses indicate the options that cause
     the corresponding heading to appear; all means that the heading always
     appears.  Note that these options only determine what information is
     provided for each facility; they do not determine which facilities will
     be listed.

     T      (all)    Type of the facility:
                         q     message queue;
                         m     shared memory segment;
                         s     semaphore.
     ID     (all)    The identifier for the facility entry.
     KEY    (all)    The key used as an argument to msgget, semget, or shmget
                     to create the facility entry.  (Note:  The key of a
                     shared memory segment is changed to IPC_PRIVATE when the
                     segment has been removed until all processes attached to
                     the segment detach it.)
     MODE   (all)    The facility access modes and flags:  The mode consists
                     of 11 characters that are interpreted as follows:
                     The first two characters are:
                          R   if a process is waiting on a msgrcv;
                          S   if a process is waiting on a msgsnd;
                          D   if the associated shared memory segment has been
                              removed.  It will disappear when the last
                              process attached to the segment detaches it;
                          C   if the associated shared memory segment is to be
                              cleared when the first attach is executed;
                          -   if the corresponding special flag is not set.

                     The next 9 characters are interpreted as three sets of
                     three bits each.  The first set refers to the owner's
                     permissions; the next to permissions of others in the
                     user-group of the facility entry; and the last to all
                     others.  Within each set, the first character indicates
                     permission to read, the second character indicates
                     permission to write or alter the facility entry, and the
                     last character is currently unused.

                     The permissions are indicated as follows:

                          r   if read permission is granted;
                          w   if write permission is granted;
                          a   if alter permission is granted;


                          -   if the indicated permission is not granted.
     OWNER  (all)    The login name of the owner of the facility entry.
     GROUP  (all)    The group name of the group of the owner of the facility
                     entry.
     CREATOR(a,c)    The login name of the creator of the facility entry.
     CGROUP (a,c)    The group name of the group of the creator of the
                     facility entry.
     CBYTES (a,o)    The number of bytes in messages currently outstanding on
                     the associated message queue.
     QNUM   (a,o)    The number of messages currently outstanding on the
                     associated message queue.
     QBYTES (a,b)    The maximum number of bytes allowed in messages
                     outstanding on the associated message queue.
     LSPID  (a,p)    The process ID of the last process to send a message to
                     the associated queue.
     LRPID  (a,p)    The process ID of the last process to receive a message
                     from the associated queue.
     STIME  (a,t)    The time the last message was sent to the associated
                     queue.
     RTIME  (a,t)    The time the last message was received from the
                     associated queue.
     CTIME  (a,t)    The time when the associated entry was created or
                     changed.
     NATTCH (a,o)    The number of processes attached to the associated shared
                     memory segment.
     SEGSZ  (a,b)    The size of the associated shared memory segment.
     CPID   (a,p)    The process ID of the creator of the shared memory entry.
     LPID   (a,p)    The process ID of the last process to attach or detach
                     the shared memory segment.
     ATIME  (a,t)    The time the last attach was completed to the associated
                     shared memory segment.
     DTIME  (a,t)    The time the last detach was completed on the associated
                     shared memory segment.
     NSEMS  (a,b)    The number of semaphores in the set associated with the
                     semaphore entry.
     OTIME  (a,t)    The time the last semaphore operation was completed on
                     the set associated with the semaphore entry.

FILES
     /unix         system namelist
     /dev/kmem     memory
     /etc/passwd   user names
     /etc/group    group names

SEE ALSO
     msgop(2), semop(2), shmop(2)

BUGS
     Things can change while ipcs is running; the picture it gives is only a
     close approximation to reality.


                                                                        Page 3