[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
Управление заданиями - Пример
Эта программа создает подпроцесс, который пишет числа на экран
терминала. Родительский процесс позволяет порожденному писать в
течение 5 секунд, останавливает его на 10 секунд, а затем
перезапускает, позволяя ему исполняться в течение еще 10 секунд, пока
не пошл└т ему SIGTERM.
Программа, исполняемая порожденным процессом:
main()
{
int i = 0;
while(1) {
printf("%d\n", i++);
sleep(1);
}
}
Файл: job_cont.c
УПРАВЛЕНИЕ ЗАДАНИЯМИ - ПРИМЕР
1 #include <sys/types.h>
2 #include <signal.h>
3 #include <sys/procset.h>
4
5 main()
6 {
7 pid_t pid;
8 if ((pid = fork()) == 0) {
9 execl("./forever", "forever", 0);
10 fprintf("execl failed\n");
11 exit(1);
12 }
13 else {
14 sleep(5);
15 sigsend(P_PID, pid, SIGSTOP);
16 sleep(10);
17 sigsend(P_PID, pid, SIGCONT);
18 sleep(10);
19 sigsend(P_PID, pid, SIGTERM);
20 wait(0);
21 }
22 }
23