maquinas - Simplemente verifique el proceso de estado en c
maquinas de estados finitos arduino (3)
Mátalo con la señal 0 y comprueba el valor de retorno.
Quiero saber el estado de un proceso. Creo que puedo utilizar las funciones de espera de la familia, pero en realidad no quiero esperar al proceso, simplemente verifique el estado y continúe.
Me gustaría algo como
checkStatusOfProcess(&status);
if(status == WORKING) {
//do something
} else if(status == exited) {
//do something else
} else //I dont care about other states
Creo que quieres waitpid
con WNOHANG
.
waitpid(pid, &status, WNOHANG);
Entonces desea usar la función waitpid
con la opción WNOHANG
:
#include <sys/types.h>
#include <sys/wait.h>
int status;
pid_t return_pid = waitpid(process_id, &status, WNOHANG); /* WNOHANG def''d in wait.h */
if (return_pid == -1) {
/* error */
} else if (return_pid == 0) {
/* child is still running */
} else if (return_pid == process_id) {
/* child is finished. exit status in status */
}