Работа с интерфейсом прикладного программирования операционной системы Linux. Шашков Б.Д. - 12 стр.

UptoLike

Составители: 

12
4. Если указанный в параметре командной строки файл не имеет установленного
атрибута разрешения для выполнения, то необходимо установить этот пара-
метр.
5. Проверить является ли указанный в параметре файл каталогом. Вывести соот-
ветствующую информацию на экран. Если это каталог, то установить разре-
шение записи в этот каталог.
6. Вывести для
определенного каталога имена текстовых файлов, для которых
разрешена запись. Имя каталога задается через параметр командной строки.
7. Вывести для каталога (имя каталога вводится с клавиатуры) список файлов,
для которых разрешены исполнение и чтение.
8. Создать резервные копии текстовых файлов, имеющих атрибут разрешения
для записи.
9. Прочитать содержимое указанного каталога в
файл. Если каталог не пуст, вы-
дать на экран сообщение. Имя каталога передается через параметр командной
строки.
10. Распечатать из текущего каталога содержащие цифры имена всех файлов с
расширениями *.c и *.cpp.
11. Создать в каталоге "./links" символические ссылки на все файлы текущего
каталога с добавлением к имени файла ".link".
12.
Копировать в каталог, имя которого вводится с клавиатуры, файлы, у кото-
рых имя начинается с букв "a" или "z", если эти файлы не являются каталога-
ми.
Создание процессов
Методические указания к выполнению работы
Новый процесс создается системным вызовом fork(). При этом порож-
даемый процесс - потомок является точной копией процесса - родителя. Они раз-
личаются тем, что потомок имеет отличные от родительского процесса иденти-
фикаторы (PID и PPID). Поскольку порожденный процесс имеет одинаковый с
родительским процессом программный код, для различия в
алгоритмах выпол-
нения можно использовать код возвращаемый функцией fork(). Для родитель-
ского процесса при нормальном завершении возвращается идентификатор поро-
жденного процесса, процесс - потомок получает от fork() код возврата, рав-
ный нулю. При неудачном завершении возвращается код ошибки равный -1 и
устанавливается значение errno.
Для того чтобы порожденный процесс выполнял независимые
от процесса
- родителя действия в нем можно использовать системный вызов exec(), по
которому запускается другая программа.
4. Если указанный в параметре командной строки файл не имеет установленного
   атрибута разрешения для выполнения, то необходимо установить этот пара-
   метр.
5. Проверить является ли указанный в параметре файл каталогом. Вывести соот-
   ветствующую информацию на экран. Если это каталог, то установить разре-
   шение записи в этот каталог.
6. Вывести для определенного каталога имена текстовых файлов, для которых
   разрешена запись. Имя каталога задается через параметр командной строки.
7. Вывести для каталога (имя каталога вводится с клавиатуры) список файлов,
   для которых разрешены исполнение и чтение.
8. Создать резервные копии текстовых файлов, имеющих атрибут разрешения
   для записи.
9. Прочитать содержимое указанного каталога в файл. Если каталог не пуст, вы-
   дать на экран сообщение. Имя каталога передается через параметр командной
   строки.
10. Распечатать из текущего каталога содержащие цифры имена всех файлов с
   расширениями *.c и *.cpp.
11. Создать в каталоге "./links" символические ссылки на все файлы текущего
   каталога с добавлением к имени файла ".link".
12. Копировать в каталог, имя которого вводится с клавиатуры, файлы, у кото-
   рых имя начинается с букв "a" или "z", если эти файлы не являются каталога-
   ми.

                         Создание процессов

            Методические указания к выполнению работы

      Новый процесс создается системным вызовом fork(). При этом порож-
даемый процесс - потомок является точной копией процесса - родителя. Они раз-
личаются тем, что потомок имеет отличные от родительского процесса иденти-
фикаторы (PID и PPID). Поскольку порожденный процесс имеет одинаковый с
родительским процессом программный код, для различия в алгоритмах выпол-
нения можно использовать код возвращаемый функцией fork(). Для родитель-
ского процесса при нормальном завершении возвращается идентификатор поро-
жденного процесса, процесс - потомок получает от fork() код возврата, рав-
ный нулю. При неудачном завершении возвращается код ошибки равный -1 и
устанавливается значение errno.
      Для того чтобы порожденный процесс выполнял независимые от процесса
- родителя действия в нем можно использовать системный вызов exec(), по
которому запускается другая программа.



                                     12