GNU/Linux >> Tutoriales Linux >  >> Linux

¿Puede el Id. de subproceso de un proceso multiproceso ser el mismo que el Id. de proceso de otro proceso en ejecución?

De acuerdo con la página de manual de pthreads, la ID del subproceso es única dentro del proceso de creación, por lo que sí, otro subproceso o proceso podría tener la misma ID. Sin embargo, si es único dentro de un proceso y un ID de proceso es único en el sistema, quizás pueda usar una combinación de los dos como identificador único.

Cada uno de los subprocesos de un proceso tiene un identificador de subproceso único (almacenado en el tipo pthread_t). Este identificador se devuelve al llamador de pthread_create(3), y un hilo puede obtener su propio identificador de hilo utilizando pthread_self(3). Solo se garantiza que los ID de subprocesos son únicos dentro de un proceso.


El TID (tal como lo devuelve el sys_gettid() llamada al sistema) es único en todos los subprocesos del sistema, y ​​para un proceso de un solo subproceso, el PID y el TID son iguales. Esto significa que un TID nunca chocará con un PID de otro proceso.


Si bien la identificación de pthread puede no ser única, en una implementación donde los subprocesos se asignan a tareas, la identificación de la tarea (como se ve en /proc/PID/task) será de hecho única en todo el sistema y tendrá una forma similar a un PID real.


Linux
  1. ¿Cómo cambiar la redirección de salida de un proceso en ejecución?

  2. Linux:¿falla la configuración de la afinidad del proceso en ejecución con el conjunto de tareas?

  3. ¿Comprobar el proceso si se está ejecutando lo mismo?

  4. ¿Adónde van los códigos de escape ANSI cuando conecto la tubería a otro proceso? ¿Puedo mantenerlos?

  5. ¿Cómo puede encontrar el número de procesador en el que se está ejecutando un subproceso?

¿Puedo usar GDB para depurar un proceso en ejecución?

¿Cuál es el PID en el host de un proceso que se ejecuta dentro de un contenedor Docker?

Determinar el procesador particular en el que se ejecuta un proceso

¿Cómo puedo obtener la hora del reloj de pared de un proceso en ejecución?

Cómo recuperar mediante programación el GID de un proceso en ejecución

¿Puede el proceso de inicio ser un script de shell en Linux?