Я хотел бы знать, каковы различия между заголовками unistd.h и stdlib.h, когда речь идет о создании дочерних процессов и установлении связей через каналы ...Unistd.h или stdlib.h при создании дочерних процессов в Linux
функции системного вызова, которые мы используем в этих случаях, read()
, write()
, wait()
, pipe()
, fork()
, exit()
. И кажется, что библиотека stdlib.h тоже их, почему все примеры здесь в stackoverflow или другие сайты включают оба заголовка ?.
Демонстрация:
Откройте консоль и написать нано program.c, вставьте следующий код. Theng скомпилировать его с gcc program.c -o program
и вы получите ИДП:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int pid;
pid = fork();
printf("EL pid %i\n", pid);
}
Первое, что нужно знать, это то, что они не БИБЛИОТЕКИ! И ты уверен? AFAIK 'read()', 'write()' ... и т. Д., Объявляются только в * uinstd.h *, 'exit()', хотя объявлено в * stdlib.h *. –
Да, полностью уверен !, у меня есть программа, которая создает 10 дочерних процессов, которые получают сообщение от отца, и я включаю только и , все работает, труба, вилка, функции закрытия. Я не получаю ошибки. У меня есть ubuntu, и я редактирую скрипты с KWRITE. –
Вы проверяли содержимое файлов? –