Я пытаюсь создать дочерний процесс в другом процессе. Я пишу обе программы на языке Си. Сначала я пишу фиктивный процесс, который будет дочерним процессом. Он всего лишь выводит строку на экран. Он хорошо работает сам по себе. Затем я пишу другую программу, которая будет родительским процессом. Однако я не могу заставить это случиться. Я пытаюсь использовать функции fork и execl вместе, но у меня ничего не получается. Я также хочу, чтобы дочерний процесс не завершался до тех пор, пока не завершится родительский процесс.
Как мне написать родительский процесс?
Спасибо.
Вот код дочернего процесса:
#include <stdio.h>
int main(void) {
while(1) {
printf("*");
sleep(1);
}
}
А вот и родительский процесс:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main(void) {
if (fork()) {
while(1) {
printf("-\n");
sleep(5);
}
} else {
execl("./", "dummy", (char *)0);
}
}