Identificador de proceso

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
Número utilizado por los núcleos del sistema operativo para identificar un proceso activo

En informática, el identificador de proceso (también conocido como ID de proceso o PID) es un número utilizado por la mayoría de los núcleos de los sistemas operativos, como los de Unix, macOS y Windows, para identificar de forma única un proceso activo. Este número se puede utilizar como parámetro en varias llamadas a funciones, lo que permite manipular procesos, como ajustar la prioridad del proceso o eliminarlo por completo.

Similar a Unix

En los sistemas operativos tipo Unix, los nuevos procesos se crean mediante la llamada al sistema fork(). El PID se devuelve al proceso principal, lo que le permite hacer referencia al hijo en futuras llamadas a funciones. El padre puede, por ejemplo, esperar a que el niño termine con la función waitpid(), o terminar el proceso con kill().

Hay dos tareas con ID de proceso especialmente distinguidos: swapper o sched tiene el ID de proceso 0 y es responsable de la paginación, y en realidad es parte del kernel en lugar de un proceso normal en modo de usuario. El ID de proceso 1 suele ser el proceso de inicio principal responsable de iniciar y apagar el sistema. Originalmente, el ID de proceso 1 no estaba reservado específicamente para init mediante ninguna medida técnica: simplemente tenía este ID como consecuencia natural de ser el primer proceso invocado por el kernel. Los sistemas Unix más recientes suelen tener componentes del kernel adicionales visibles como "procesos", en cuyo caso el PID 1 se reserva activamente para el proceso de inicio para mantener la coherencia con los sistemas más antiguos.

En primer lugar, los ID de proceso generalmente se asignan de forma secuencial, comenzando en 0 y aumentando hasta un valor máximo que varía de un sistema a otro. Una vez que se alcanza este límite, la asignación se reinicia en 300 y vuelve a aumentar. En macOS y HP-UX, la asignación se reinicia en 100. Sin embargo, para este paso y los posteriores, se omiten los PID aún asignados a los procesos. Algunos consideran que esto es una posible vulnerabilidad de seguridad, ya que permite extraer información sobre el sistema o pasar mensajes de forma encubierta entre procesos. Como tal, las implementaciones que están particularmente preocupadas por la seguridad pueden elegir un método diferente de asignación de PID. En algunos sistemas, como MPE/iX, se utiliza el PID más bajo disponible, a veces en un esfuerzo por minimizar la cantidad de páginas del núcleo de información del proceso en la memoria.

El ID del proceso actual lo proporciona una llamada al sistema getpid() o como una variable $$ en el shell. El ID de proceso de un proceso principal se puede obtener mediante una llamada al sistema getppid().

En Linux, el ID de proceso máximo viene dado por el pseudoarchivo /proc/sys/kernel/pid_max.

Archivo Pid

Algunos procesos, por ejemplo, el reproductor de música moc y el demonio MySQL, escriben su PID en una ubicación de archivo documentada, para permitir que otros procesos lo busquen.

Microsoft Windows

En la familia de sistemas operativos Windows, se puede obtener el ID del proceso actual usando la función GetCurrentProcessId() de la API de Windows, y el ID de otros procesos usando GetProcessId. (). Internamente, el ID del proceso se denomina ID del cliente y se asigna desde el mismo espacio de nombres que los ID de los subprocesos, por lo que estos dos nunca se superponen. El proceso inactivo del sistema recibe el ID de proceso 0. El proceso del sistema recibe el ID de proceso 8 en Windows 2000 y 4 en Windows XP y Windows Server 2003. En la familia de sistemas operativos Windows NT, los identificadores de proceso y subproceso son todos múltiplos de 4, pero no forma parte de la especificación.

Contenido relacionado

Historia de la cámara

La historia de la cámara comenzó incluso antes de la introducción de la fotografía. Las cámaras evolucionaron desde la cámara oscura a través de muchas...

Tubo de vacío

Un tubo de vacío, tubo de electrones o válvula termoiónica, es un dispositivo que controla el flujo de corriente eléctrica en un alto vacío entre...

Señales de humo

La señal de humo es una de las formas más antiguas de comunicación a larga distancia. Es una forma de comunicación visual utilizada a larga distancia. En...
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save