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

slay

Kill or modify a process by name (QNX Neutrino)

Syntax:

slay [options]... process_name...

Options:

- signal_number
A signal number specifying which signal to raise on the processes matching process_name.
-f
Force the action to be taken on all processes sharing the same process_name. Normally, slay prompts for confirmation when more than one process bears the specified name.
-h
Set a SIGSTOP signal on a process, effectively holding its execution.
-n nodename
Search for the specified processes on the specified remote node nodename.
-P prio[f|r|o]
Set the processes matching process_name to priority prio. Non-root users are limited to a maximum priority of 63; root can specify a priority up to 255. You can change the range of privileged priorities with the -P option for procnto.

The priority may be followed by f, r or o to change the scheduling policy to SCHED_FIFO, SCHED_RR or SCHED_OTHER, respectively.


Note: SCHED_OTHER is currently the same as SCHED_RR.

-p
Print the process IDs, in decimal, to standard output, with one process ID per line. The processes aren't slain.
-q
Query before dealing with the process, even if only one process is found with a matching name (overrides option -f). This option is useful for viewing the other process information that slay presents.
-Q
Be quiet. This option is useful when you invoke slay from a C program.
-S
Don't kill processes that have child processes. You typically use this option in a shell command that shuts down shells on other devices. Setting this option prevents slay from killing shells that have other processes (such as editors) running. If you also specify -q, slay prompts for a forced kill even if the named process has child processes.
-s sig
Define a signal to send. This option causes the signal sig to be raised for the processes matching the process_name.
-t ttyname
Match only those processes whose name is process_name and have ttyname as the controlling terminal. If ttyname doesn't begin with a slash (/), slay assumes that it starts with the /dev/ prefix.
-u
Set a SIGCONT signal on a process. If execution of the process was being held by a SIGSTOP signal, execution begins where it left off. If the process hadn't previously had a SIGSTOP set upon it, the SIGCONT signal has no effect.
-v
Be verbose; display messages about processes being signaled.
process_name
The name of a process to operate on.

Description:

Use the slay utility to kill a process by name rather than by process ID. This saves you from having to first run the ps or pidin utility to obtain a pid before issuing a kill command. Process names are specified without the path. For example, let's say you have a process called /bin/sleep that you want to kill. Entering sleep as the process name is sufficient to allow slay to find and kill it.

There are many forms of this command. The simplest and most often used form is:

slay process_name

This command locates the process bearing the specified name. If only one is found, a SIGTERM signal is set on it. If more than one process bears the specified name, you're prompted for a yes/no response for each process. When each process is listed in this form, the process name, pid, and tty group/member numbers are also displayed to help you make a selection.


Note: To set a signal on a process you must either own the process or be logged in as root.

Examples:

Kill the spooler process on node peterv:

slay -n peterv spooler

As root, change priority of the my_test process to 20:

slay -P 20 my_test

Exit status:

0
No processes matched the supplied criteria, an error occurred, or the number of processes matched and acted upon was an even multiple of 256.
1-128
The number of processes matched and acted upon modulo 256 (e.g. a status of 1 could mean 1 process, 257 processes, 513 processes etc.)
129-160
If the exit status was gleaned through direct spawning, this is the number of processes matched and acted upon modulo 256. If slay was run through the shell, this is either the number of processes matched and acted upon, or it indicates why slay died due to a signal (subtract 128 from the exit status to determine the signal number).
161-255
The number of processes matched and acted upon, modulo 256.

Caveats:

The exit status of slay is nonstandard for historical reasons. It is strongly recommended that slay not be used in any situation where the exit status is relied upon because the status is ambiguous in some circumstances.

See also:

kill, pidin, ps


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