psr Command

For Windows: Not Supported

The psr BASIC program displays formatted output of the status of the currently active UNIX and/or D3 processes.

Syntax

psr {port.number} {(options}

Parameter(s)

options

k

Shows only the processes running in D3.

p

Directs output to system printer via the spooler.

r

Shows only the running processes.

s{n}

Selects the running processes by doing two UNIX ps commands, separated by a specified sampling period n (default 1s), and comparing the CPU usage of the processes.

Whenever possible, this command tries to identify the D3 process from the status returned by the UNIX ps command.

If the port number is specified, the output shows process information related to the D3 process port and its child processes. This argument supersedes the r and k options.

This command displays:

PID

UNIX process identification.

PPID

UNIX process identification of the parent process.

TTY

Device name where the process is connected.

CPU

Cumulative UNIX CPU time in minutes: seconds, or +n, where n is the number of seconds accumulated in the given sampling period if the (d) option was used.

S

UNIX process status:

A

Active

R

Running

S

Suspended

T

Terminated

W

Waiting for I/O

Z

Zombie (defunct)

PORT

D3 port number.

USER

If the process is connected to the current virtual machine, this is its user-ID.

ACCOUNT

If the process is connected to the current virtual machine, this is its master dictionary.

STAT

If the process is connected to the current virtual machine, this is its D3 status.

MODE/COMMAND

If the process is connected to the current virtual machine, this is the name of the virtual mode it is currently executing. If not, it is the name of the UNIX command it is executing.

The form psr port.number is useful to identify all processes spawned by a D3 process.

The form psr (r allows detecting processes, which are consuming CPU. By repeating this command after a few second intervals, it is easy to identify processes looping or having hardware related problems (for example, too many serial interrupts).

The form psr (sr is an alternative to psr (r to show running processes. It allows taking a sample on a longer period, thus catching processes running often, but not for a long time.

CAUTION

The psr command can be intrusive.

Example(s)

psr

PID

PPID

TTY

CPU

S

PORT

USER

ACCOUNT

STAT

MODE/COMMAND

1

0

-

18:08

S

 

 

 

 

init

1973

1

-

1:04

S

 

 

 

 

syncd

3071

L1

10/0

421:23

R

 

 

 

 

d3

3255

1

-

0:01

S

 

 

 

 

errdemon

3762

1

112/0

0:00

S

072

 

 

F310

md0:00C

4270

1

108/0

0:00

S

068

 

 

F310

md0:00C

4368

1

-

0:00

S

 

 

 

 

srcmstr

5028

4368

-

0:00

S

 

 

 

 

writesrv

5283

1

89/0

0:00

S

057

dm

dm

F310

tcl.input:000

5615

1

102/0

0:20

S

 

 

 

 

pxproute

6053

1

91/0

0:15

S

059

 

 

F310

rdl.getchar:000

6314

4368

-

0:00

S

 

 

 

 

qdaemon

6513

1

2/0

0:00

S

002

 

 

F310

rdl.getchar:000

7110

1

0

0:00

S

128

 

 

BF10

sp.sleep:040

This command takes two samples at 3 second intervals and displays the time accumulated by the running process. In this example, the process d3 has consumed 3 seconds (the whole sampling period), which is an indication of a potential problem.

psr (d3

PID

PPID

TTY

CPU

S

PORT

USER

ACCOUNT

STAT

MODE/COMMAND

3071

1

10/0

+3

R

 

 

 

 

d3

See Also

! Command, d3 Command, kill Command, pick Command, PID, pid Command, Port Number, where Command