2
0
mirror of https://github.com/checkpoint-restore/criu synced 2025-08-31 06:15:24 +00:00

zdtm: Factor out ps showing code

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
This commit is contained in:
Pavel Emelyanov
2015-12-03 15:06:01 +03:00
parent 0ecd6c336a
commit b3c8ee1b4f

View File

@@ -218,6 +218,19 @@ static int ns_exec(void *_arg)
return -1;
}
static void show_ps(void)
{
int pid;
pid = fork();
if (pid == 0) {
execl("/bin/ps", "ps", "axf", "-o", "pid,sid,comm", NULL);
fprintf(stderr, "Unable to execute ps: %m\n");
exit(1);
} else if (pid > 0)
waitpid(pid, NULL, 0);
}
int ns_init(int argc, char **argv)
{
struct sigaction sa = {
@@ -261,13 +274,7 @@ int ns_init(int argc, char **argv)
else if (ret)
fprintf(stderr, "The test returned non-zero code %d\n", ret);
pid = fork();
if (pid == 0) {
execl("/bin/ps", "ps", "axf", "-o", "pid,sid,comm", NULL);
fprintf(stderr, "Unable to execute ps: %m\n");
exit(1);
} else if (pid > 0)
waitpid(pid, NULL, 0);
show_ps();
if (sigaction(SIGCHLD, &sa, NULL)) {
fprintf(stderr, "Can't set SIGCHLD handler: %m\n");
@@ -297,13 +304,7 @@ int ns_init(int argc, char **argv)
/* suspend/resume */
test_waitsig();
pid = fork();
if (pid == 0) {
execl("/bin/ps", "ps", "axf", "-o", "pid,sid,comm", NULL);
fprintf(stderr, "Unable to execute ps: %m\n");
exit(1);
} else if (pid > 0)
waitpid(pid, NULL, 0);
show_ps();
fd = open(pidfile, O_RDONLY);
if (fd == -1) {