Advertisement
Guest User

Untitled

a guest
Jul 4th, 2015
274
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.10 KB | None | 0 0
  1. #include <sys/types.h>
  2. #include <sys/stat.h>
  3. #include <fcntl.h>
  4.  
  5. #include <unistd.h>
  6. #include <stdio.h>
  7. // Прави връзка между указания файл и процеса, които се идентифицира чрез файловия дескриптор
  8. // return file descriptor
  9. // path - пътя до файла
  10. // oflag -
  11. // O_RDONLY - само за четене
  12. // O_WRONLY - за писане
  13. // O_RDWR - за писане и четене
  14. // O_CREAT - ако файла не съществува го създава
  15. // O_EXCL - заедно с O_CREAT - ако файла съществува връща грешка
  16. // O_TRUNC - ако файла съществува и се отваря за писане го изпразва
  17. // O_APPEND - файла се отваря се добавя след края на файла
  18. // O_SYNC -
  19. // Ако няма файл го създава
  20. int open(const char *path, int oflag, [, mode t_mode]);
  21.  
  22. // ако съществува такъв файл то то се презаписв, ако има право за писане
  23. int creat(const char *path, mode t_mode);
  24.  
  25. // fildes - файлов дескриптор
  26. int close(int fildes);
  27.  
  28. // Чете count байта от файла в buf идентфициран от fd, като започва четене от текущата позиция
  29. // Прочетените байтове се записват в буфера
  30. // Връща действителния брой прочетени байта
  31. // Връща 0, aко текущата позиция е след EOF
  32. // Връща -1 при грешка
  33. ssize_t read (int fd, void *buf, size_t count);
  34.  
  35. // Записва count байта, от областта на процеса с адрес buf към файла от файлов дескриптор
  36. // Започва от текущата позиция, като се увеличава с броя записани байтове
  37. // Ако е вдигната флага O_APPEND, то текущата позиция ще сочи към края на файла
  38. ssize_t write(int fd, const *buf, size_t count);
  39.  
  40. // Премества текущата позиция за файла
  41. // offset - задава нова позиция
  42. // flag - задава от къде 0 - от началото на файла, 1 от текущата позиция, 2 от края на файла
  43. // ако позицията е след края на файла - то размера на файла не се увеличава
  44. off_t lseek(int fd, off_t offset, int flag);
  45.  
  46. // Създава нов процес. Новия процес(child process) е точно копие на викащия го (parent process)
  47. // Пази номера и файловия дескрипор на викащия го процес
  48. // Новия процес има уникален номер, който не съвпада с никои друг от процесите в групата
  49. // При успех процеса баща връща pid на процеса син
  50. pid_t fork(void);
  51.  
  52.  
  53. // wait - изчаква завършването на процес син
  54. // Чака смяна на статуса на процеса
  55. // Фунцкията wait ще прекрати изпълнението на нишката докато не получи информация
  56. // за приключил процес син
  57. #include <sys/types.h>
  58. #include <sys/wait.h>
  59. pid_t wait (int *status);
  60. pid_t waitpid(pid_t pid, int *stat_loc, int options);
  61.  
  62. // Изпълнява примитива close за всички отворени файлове
  63. // Освобождава паметта заета от процеса
  64. // Регистрира процеса като завършен и саписва кода на завършване в таблицата за процесите
  65. // Урежда изключването на процеса от йерархията на процесите
  66. #include <stdlib.h>
  67. void exit(int status);
  68.  
  69.  
  70. // Връща идентификатор на текущия процес
  71. pid_t getpid(void);
  72.  
  73. // Връща идентификатора на процеса баща
  74. pid_t getppid(void);
  75.  
  76. // execl, execv, execvp, execlp - изпълнява файл
  77. // path - пътя към файла, който да се изпълни
  78. // при execlp не е нужно да се задава пътя към файла а само името на програмата
  79. int execl(const char *path, const char *arg, ..);
  80. int execlp(const char* path, const char *arg, ..);
  81.  
  82. // execv и execvp има масив указател към масив от команди
  83. // При execv се задава пътя към програмата, а при execvp само името
  84. int execv(const char *path, char *const argv[]);
  85. int execvp(const char *file, char *const argv[]);
  86.  
  87. // Извежда съобщение на стандартния изход за грешки
  88. #include <stdio.h>
  89. void perror(const char *s);
  90.  
  91. // Външна променлива съдържаща кода на последната възникнала грешка
  92. #include <errno.h>
  93. int errno
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement