Just check status process in c
20,497
Solution 1
Then you want to use the waitpid
function with the WNOHANG
option:
#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 */
}
Solution 2
I think you want waitpid
with WNOHANG
.
waitpid(pid, &status, WNOHANG);
Solution 3
Kill it with signal 0 and check return value.
Author by
gvalero87
pre-graduate Computer Engineering Student from Venezuela, USB university.
Updated on December 04, 2020Comments
-
gvalero87 over 3 years
I want to know the status of a process. I think I can use the wait family functions but actually I don't want to wait for the process, just check the status and go on.
I would want something like
checkStatusOfProcess(&status); if(status == WORKING) { //do something } else if(status == exited) { //do something else } else \\I dont care about other states