0x40135000 close(3) = 0 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4013a000 munmap(0x40012000, 85050) = 0 brk(0) = 0x804a308 brk(0x804b308) = 0x804b308 brk(0x804c000) = 0x804c000 _exit(0)

Uwaga: szczegóły dotyczą jądra Linux 2.4, ale różnice nie są aż tak duże.

Otwieranie i zamykanie plików – open, create i close Pliki otwiera się za pomocą trzyargumentowego open, którego definicja znajduje się w fcntl.hhttp://lxr.linux.no/linux/include/asm-generic/fcntl.h: int open(const char *pathname, int flags, mode_t mode);

Pierwszy argument pathname oznacza ścieżkę do pliku.

Drugi flags – opcje otwarcia, z czego ważniejsze to: O_RDONLY – otwórz tylko do odczytu O_WRONLY – otwórz tylko do zapisu O_RDWR – otwórz do zapisu i odczytu O_CREAT – utwórz plik jeśli nie istnieje O_EXCL – używane razem z O_CREAT – zwróć błąd jeśli plik już istnieje O_TRUNC – jeśli w pliku są już jakieś dane, skasuj je O_APPEND – plik jest otwierany w trybie dopisywania do końca O_NONBLOCK – otwórz plik w trybie nieblokującym

Opcjonalny trzeci – uprawnienia dla nowo utworzonych plików. open należy do nielicznych wywołań systemowych dopuszczających pomijanie argumentu: int open(const char *pathname, int flags);