This repository has been archived on 2026-07-28. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
2025-04-13 21:48:15 +03:00

36 lines
1.2 KiB
Plaintext
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Что будет выведено на экран? Прокомментировать, почему? Если возможны несколько вариантов – привести все. Предполагается, что
обращение к функции вывода на экран прорабатывает атомарно и без буферизации. Все системные вызовы прорабатывают успешно.
Подключение заголовочных файлов опущено.
int main() {
int pid;
int fd[2];
char c = 'a';
pipe(fd);
if( (pid = fork()) > 0 ) {
read(fd[0], &c, 1);
kill(pid, SIGKILL);
wait(NULL);
} else {
putchar(c);
c = 'b';
write(fd[1], &c, 1);
c = 'c';
}
putchar(c);
return 0;
}
(Вес задачи: 2 балла)
Answer:
1) начнётся с a т.к. отец заблокируется на считывании
2) сын записал б в канал, дальше либо отец может отправить его "на убийство", либо сын проработает быстрее. У сына с
3) только после смерти сына отец выведет б
aсб
aб