Developer Resources
Developer Support

QNX Developer Support

PDF Documents
[Previous] [Contents] [Index] [Next]

Caution: This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs.


Display system information


sin [options] [command]...

Runs on:

All supported platforms.


-l seconds
("el") Loop with a pause of seconds between iterations.
-n nodename
Get information from the node with the given nodename.
-P name
Show information about the process with the given name.
-p pid
Show information about the process with the given ID.
Select processes with at least one ready thread.
-S type
Sort by type, which must be one of code, data, name, pid, sid, or time.
-s sid
Select processes by session ID.
-u uid
Select processes belonging to the given user ID.

The command variables include:

args (or ar)
Show the arguments of the displayed process.
env (or en)
List the environment variables used by the displayed process.
fds (or fd)
Show information about the file descriptors used by the displayed process. From the left, the columns show:
  • file descriptor (items suffixed with an s indicate that the connection is a side channel created with the _NTO_SIDE_CHANNEL flag -- for more information, see ConnectAttach() in the Neutrino Library Reference)
  • process ID of the server
  • read/write mode
  • memory offset/size
  • the path associated with the file descriptor
info (or in)
Display information about the system, such as the type of processor and amount of free memory. From the left, the columns show:
  • the host name
  • the amount of free memory
  • the number of CPUs present
  • the CPU speed in MHz
  • the name of the CPU
memory (or me)
Show the memory used by the displayed process.

From the left, the columns show:

  • name of program or device
  • virtual address
  • virtual address offset
  • size of code memory
  • code memory-mapping flags
  • size of data memory
  • data memory-mapping flags.

The memory-mapping flags are as follows:

  • S -- shared memory
  • P -- private memory
  • A -- anonymous memory
  • R -- read permission
  • W -- write permission
  • X -- execute permission
  • N -- cache not allowed

For more information, see mmap() in the Neutrino Library Reference.

registers (or re)
Show information about the register sets that the displayed process is using.
Note: Currently, this feature is available only for x86.

From the left, the columns show:

  • TID -- thread ID
  • EIP -- instruction pointer
  • EAX -- accumulation register
  • EBX -- accumulation register
  • ECX -- accumulation register
  • EDX -- accumulation register
  • ESI -- general purpose register
  • EDI -- general purpose register
  • ESP -- stack pointer
signals (or si)
Show the signal state of the displayed process. From the left, the columns show:
  • Tid -- thread ID
  • Ignored/Blocked (64-49.48-33) -- mask for signals 33-64
  • Ignored/Blocked (32-17.16-1) -- mask for signals 1-32
  • Pending (64-49.48-33) -- signals 33-64 waiting to be unmasked
  • Pending (32-17.16-1) -- signals 1-32 waiting to be unmasked
threads (or th)
Show information about the threads of the displayed process. From the left, the columns show:
  • Tid -- Thread ID
  • Priority -- scheduling priority number and scheduling algorithm (see below)
  • State -- current state of the thread (see below for possible states)
  • Blocked -- the PID that this process is blocked on
  • IP -- the EIP register set used by the displayed process
  • CPU -- CPU occupancy time in milliseconds

The letter following the scheduling priority number stands for the scheduling algorithm used, as follows:

  • f -- FIFO scheduling
  • r -- round-robin scheduling
  • o -- other (currently, same as round-robin scheduling)
  • s -- sporadic scheduling

For more information on these scheduling algorithms, see "Thread scheduling" in the System Architecture guide.

Possible thread states:

State: Meaning:
CONDVAR Blocked on a condition variable
DEAD Terminated, waiting for a join by another thread
INTERRUPT Blocked, waiting for interrupt
JOIN Blocked, waiting to join another thread
MUTEX Blocked on a mutual exclusion lock
NANOSLEEP Sleeping for a short time
READY Waiting while processor executes another thread
RECEIVE Blocked on a message receive
REPLY Blocked on a message reply
RUNNING Being executed
SEM Waiting for a semaphore to be posted
SEND Blocked on a message send
SIGSUSPEND Blocked waiting for a signal
SIGWAITINFO Blocked waiting for a signal
STACK Waiting for virtual address space allocation
STOPPED Blocked, waiting for a SIGCONT signal
WAITCTX Waiting for a non integer (e.g. floating point) context
WAITPAGE Waiting for physical memory allocation
WAITTHREAD Waiting for child thread creation

users (or us)
Show information about the users of the displayed process. From the left, the columns show:
  • UID -- real user ID
  • EUID -- effective user ID
  • SUID -- saved user ID
  • GID -- real group ID
  • EGID -- effective group ID
  • SGID -- saved group ID


The sin command displays textual system information about the processes running on a QNX Neutrino system (for a graphical version of this command, see psin).

The command variables let you specify the information you are interested in. If you don't specify a command, sin displays the following information for each selected process:

If you specify a command, sin displays the process information, then the information generated by the command. The info command is an exception; it only displays the system information, not process information.

By default, sin displays the information once and then exits. If you specify the -l, sin loops forever, displaying statistics after the delay specified by the seconds option variable.


Display information about processes belonging to the user techpubs:

$ sin -u techpubs
procnto                                 1     0     0     0     0 268759990
devc-con                                2   36K   68K  128M  128M       614
pci-bios                                3   28K   60K    4K  516K        16
tinit                                   4    8K   44K    4K  516K         4
devb-eide                               5   24K 12352K   36K  612K    128152
slogger                              4103    8K   80K   20K  536K         5
pipe                                 8200   12K  480K   24K 1045K      8181
fs-pkg                             565254   96K  468K   80K 1177K     10952
devc-pty                           638987   24K  140K    4K  640K       712
mqueue                             638988    8K   64K    4K  640K         5
devc-ser8250                       655370   24K   60K    4K  640K         5
devc-par                           655375   24K  100K    8K  648K       323
io-net                             655377   40K  488K   40K 1213K     16862
spooler                            655379   12K   52K   12K  524K     11755
dhcp.client                        663565   36K  124K   16K  648K        15
dumper                             696329   12K   52K   24K  644K        27
Photon                             786450   64K  100K   12K  524K     11534
phfontFA                           843798  284K 1473K   12K  516K     14287
fontsleuth                         851988   16K  136K   12K  652K        16
io-graphics                        880663  144K  264K    8K  385M     11048
devi-hirun                         901147   52K  244K   20K  912K      1726

Display information about the process with a given ID:

$ sin -p 4280354
helpviewer                        4280354  592K  604K   20K  516K        69

Display the command-line arguments for the process with a given ID:

$ sin -p 2330650 args
io-graphics                       2330650  188K 1805K    8K  516K     81362
   io-graphics -g1024x768x16 -dldevg-banshee.so -I0 -d0x121a,0x5

See also:

hogs, pidin, psin

Fine-Tuning Your System in the Neutrino User's Guide

[Previous] [Contents] [Index] [Next]