Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

198
Views
waitpid devuelve pid=0 y WIFEXITED=1 ¿cómo obtener el pid?

Pasos:

Fork and start process en un grupo de programas diferente
Detener proceso con SIGTSTP
Reiniciar proceso con SIGCONT
Termina el proceso

Problema: el controlador SIGCHLD tiene:

 waitpid(-1, &status, WNOHANG | WUNTRACED);

al regresar pid = 0 y WIFEXITED = 1, entonces, el proceso finalizó, pero no puedo obtener el pid. Necesito el pid.

De la página del manual: "si se especificó WNOHANG y existen uno o más hijos especificados por pid, pero aún no han cambiado de estado, entonces se devuelve 0"
Pero parece que el estado ha cambiado a salido.

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

El estado no tiene sentido si el pid devuelto fue 0. Piénsalo. Un retorno de 0 significa que tiene uno o más hijos que aún tienen que cambiar de estado. ¿Cuál sería el estado de un niño que aún no ha cambiado de estado? Si hubiera varios hijos, ¿a qué hijo hace referencia el código de estado?

Esto es similar a verificar errno en una llamada exitosa. Cualquier cosa de una llamada anterior puede estar en errno pero no tiene nada que ver con la llamada exitosa más reciente porque errno generalmente no se establece en éxito.

over 4 years ago · Santiago Trujillo Report

0

El valor de retorno de waitpid es el PID del hijo que se esperaba.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!