public class

Process

extends Object
java.lang.Object
   ↳ android.os.Process

Class Overview

Tools for managing OS processes.

Summary

Constants
int BLUETOOTH_GID Defines a secondary group id for access to the bluetooth hardware.
int FIRST_APPLICATION_UID Defines the start of a range of UIDs (and GIDs), going from this number to LAST_APPLICATION_UID that are reserved for assigning to applications.
int LAST_APPLICATION_UID Last of application-specific UIDs starting at FIRST_APPLICATION_UID.
int PHONE_UID Defines the UID/GID under which the telephony code runs.
int SIGNAL_KILL
int SIGNAL_QUIT
int SIGNAL_USR1
int SYSTEM_UID Defines the UID/GID under which system code runs.
int THREAD_PRIORITY_AUDIO Standard priority of audio threads.
int THREAD_PRIORITY_BACKGROUND Standard priority background threads.
int THREAD_PRIORITY_DEFAULT Standard priority of application threads.
int THREAD_PRIORITY_DISPLAY Standard priority of system display threads, involved in updating the user interface.
int THREAD_PRIORITY_FOREGROUND Standard priority of threads that are currently running a user interface that the user is interacting with.
int THREAD_PRIORITY_LESS_FAVORABLE Minimum increment to make a priority less favorable.
int THREAD_PRIORITY_LOWEST Lowest available thread priority.
int THREAD_PRIORITY_MORE_FAVORABLE Minimum increment to make a priority more favorable.
int THREAD_PRIORITY_URGENT_AUDIO Standard priority of the most important audio threads.
int THREAD_PRIORITY_URGENT_DISPLAY Standard priority of the most important display threads, for compositing the screen and retrieving input events.
Public Constructors
Process()
Public Methods
final static long getElapsedCpuTime()
Returns elapsed milliseconds of the time this process has run.
final static int getGidForName(String name)
Returns the GID assigned to a particular user name, or -1 if there is none.
final static int getThreadPriority(int tid)
Return the current priority of a thread, based on Linux priorities.
final static int getUidForName(String name)
Returns the UID assigned to a particular user name, or -1 if there is none.
final static void killProcess(int pid)
Kill the process with the given PID.
final static int myPid()
Returns the identifier of this process, which can be used with killProcess(int) and sendSignal(int, int).
final static int myTid()
Returns the identifier of the calling thread, which be used with setThreadPriority(int, int).
final static int myUid()
Returns the identifier of this process's user.
final static void sendSignal(int pid, int signal)
Send a signal to the given process.
final static void setThreadPriority(int priority)
Set the priority of the calling thread, based on Linux priorities.
final static void setThreadPriority(int tid, int priority)
Set the priority of a thread, based on Linux priorities.
final static boolean supportsProcesses()
Determine whether the current environment supports multiple processes.
[Expand]
Inherited Methods
From class java.lang.Object

Constants

public static final int BLUETOOTH_GID

Since: API Level 1

Defines a secondary group id for access to the bluetooth hardware.

Constant Value: 2000 (0x000007d0)

public static final int FIRST_APPLICATION_UID

Since: API Level 1

Defines the start of a range of UIDs (and GIDs), going from this number to LAST_APPLICATION_UID that are reserved for assigning to applications.

Constant Value: 10000 (0x00002710)

public static final int LAST_APPLICATION_UID

Since: API Level 1

Last of application-specific UIDs starting at FIRST_APPLICATION_UID.

Constant Value: 99999 (0x0001869f)

public static final int PHONE_UID

Since: API Level 1

Defines the UID/GID under which the telephony code runs.

Constant Value: 1001 (0x000003e9)

public static final int SIGNAL_KILL

Since: API Level 1

Constant Value: 9 (0x00000009)

public static final int SIGNAL_QUIT

Since: API Level 1

Constant Value: 3 (0x00000003)

public static final int SIGNAL_USR1

Since: API Level 1

Constant Value: 10 (0x0000000a)

public static final int SYSTEM_UID

Since: API Level 1

Defines the UID/GID under which system code runs.

Constant Value: 1000 (0x000003e8)

public static final int THREAD_PRIORITY_AUDIO

Since: API Level 1

Standard priority of audio threads. Applications can not normally change to this priority. Use with setThreadPriority(int) and setThreadPriority(int, int), not with the normal Thread class.

Constant Value: -16 (0xfffffff0)

public static final int THREAD_PRIORITY_BACKGROUND

Since: API Level 1

Standard priority background threads. This gives your thread a slightly lower than normal priority, so that it will have less chance of impacting the responsiveness of the user interface. Use with setThreadPriority(int) and setThreadPriority(int, int), not with the normal Thread class.

Constant Value: 10 (0x0000000a)

public static final int THREAD_PRIORITY_DEFAULT

Since: API Level 1

Standard priority of application threads. Use with setThreadPriority(int) and setThreadPriority(int, int), not with the normal Thread class.

Constant Value: 0 (0x00000000)

public static final int THREAD_PRIORITY_DISPLAY

Since: API Level 1

Standard priority of system display threads, involved in updating the user interface. Applications can not normally change to this priority. Use with setThreadPriority(int) and setThreadPriority(int, int), not with the normal Thread class.

Constant Value: -4 (0xfffffffc)

public static final int THREAD_PRIORITY_FOREGROUND

Since: API Level 1

Standard priority of threads that are currently running a user interface that the user is interacting with. Applications can not normally change to this priority; the system will automatically adjust your application threads as the user moves through the UI. Use with setThreadPriority(int) and setThreadPriority(int, int), not with the normal Thread class.

Constant Value: -2 (0xfffffffe)

public static final int THREAD_PRIORITY_LESS_FAVORABLE

Since: API Level 1

Minimum increment to make a priority less favorable.

Constant Value: 1 (0x00000001)

public static final int THREAD_PRIORITY_LOWEST

Since: API Level 1

Lowest available thread priority. Only for those who really, really don't want to run if anything else is happening. Use with setThreadPriority(int) and setThreadPriority(int, int), not with the normal Thread class.

Constant Value: 19 (0x00000013)

public static final int THREAD_PRIORITY_MORE_FAVORABLE

Since: API Level 1

Minimum increment to make a priority more favorable.

Constant Value: -1 (0xffffffff)

public static final int THREAD_PRIORITY_URGENT_AUDIO

Since: API Level 1

Standard priority of the most important audio threads. Applications can not normally change to this priority. Use with setThreadPriority(int) and setThreadPriority(int, int), not with the normal Thread class.

Constant Value: -19 (0xffffffed)

public static final int THREAD_PRIORITY_URGENT_DISPLAY

Since: API Level 1

Standard priority of the most important display threads, for compositing the screen and retrieving input events. Applications can not normally change to this priority. Use with setThreadPriority(int) and setThreadPriority(int, int), not with the normal Thread class.

Constant Value: -8 (0xfffffff8)

Public Constructors

public Process ()

Since: API Level 1

Public Methods

public static final long getElapsedCpuTime ()

Since: API Level 1

Returns elapsed milliseconds of the time this process has run.

Returns
  • Returns the number of milliseconds this process has return.

public static final int getGidForName (String name)

Since: API Level 1

Returns the GID assigned to a particular user name, or -1 if there is none. If the given string consists of only numbers, it is converted directly to a gid.

public static final int getThreadPriority (int tid)

Since: API Level 1

Return the current priority of a thread, based on Linux priorities.

Parameters
tid The identifier of the thread/process to change.
Returns
  • Returns the current priority, as a Linux priority level, from -20 for highest scheduling priority to 19 for lowest scheduling priority.
Throws
IllegalArgumentException Throws IllegalArgumentException if tid does not exist.

public static final int getUidForName (String name)

Since: API Level 1

Returns the UID assigned to a particular user name, or -1 if there is none. If the given string consists of only numbers, it is converted directly to a uid.

public static final void killProcess (int pid)

Since: API Level 1

Kill the process with the given PID. Note that, though this API allows us to request to kill any process based on its PID, the kernel will still impose standard restrictions on which PIDs you are actually able to kill. Typically this means only the process running the caller's packages/application and any additional processes created by that app; packages sharing a common UID will also be able to kill each other's processes.

public static final int myPid ()

Since: API Level 1

Returns the identifier of this process, which can be used with killProcess(int) and sendSignal(int, int).

public static final int myTid ()

Since: API Level 1

Returns the identifier of the calling thread, which be used with setThreadPriority(int, int).

public static final int myUid ()

Since: API Level 2

Returns the identifier of this process's user.

public static final void sendSignal (int pid, int signal)

Since: API Level 1

Send a signal to the given process.

Parameters
pid The pid of the target process.
signal The signal to send.

public static final void setThreadPriority (int priority)

Since: API Level 1

Set the priority of the calling thread, based on Linux priorities. See setThreadPriority(int, int) for more information.

Parameters
priority A Linux priority level, from -20 for highest scheduling priority to 19 for lowest scheduling priority.
Throws
IllegalArgumentException Throws IllegalArgumentException if tid does not exist.
SecurityException Throws SecurityException if your process does not have permission to modify the given thread, or to use the given priority.

public static final void setThreadPriority (int tid, int priority)

Since: API Level 1

Set the priority of a thread, based on Linux priorities.

Parameters
tid The identifier of the thread/process to change.
priority A Linux priority level, from -20 for highest scheduling priority to 19 for lowest scheduling priority.
Throws
IllegalArgumentException Throws IllegalArgumentException if tid does not exist.
SecurityException Throws SecurityException if your process does not have permission to modify the given thread, or to use the given priority.

public static final boolean supportsProcesses ()

Since: API Level 1

Determine whether the current environment supports multiple processes.

Returns
  • Returns true if the system can run in multiple processes, else false if everything is running in a single process.