Книга: Язык программирования Си для персонального компьютера
Управление процессами
Управление процессами
Функция | Краткое описание |
abort | завершить процесс |
execl | выполнить порождаемый процесс со списком аргументов |
execle | выполнить порождаемый процесс со списком аргументов и заданным окружением (контекстом имен командного языка операционной системы) |
execlp | выполнить порождаемый процесс, используя переменную PATH и список аргументов |
execlpe | выполнить порождаемый процесс, используя переменную PATH, заданное окружение и список аргументов |
execv | выполнить порождаемый процесс с массивом аргументов |
execve | выполнить порождаемый процесс с массивом аргументов и заданным окружением |
execvp | выполнить порождаемый процесс, используя переменную PATH и массив аргументов |
execvpe | выполнить порождаемый процесс, используя переменную PATH, заданное окружение и массив аргументов |
exit | завершить процесс |
_exit | завершить процесс без скидывания буферов |
signal | управление сигналом прерывания |
spawnl | выполнить порождаемый процесс со списком аргументов |
spawnle | выполнить порождаемый процесс со списком аргументов и заданным окружением |
spawnlp | выполнить порождаемый процесс, используя переменную PATH и список аргументов |
spawnlpe | выполнить порождаемый процесс, используя переменную PATH, заданное окружение и список аргументов |
spawnv | выполнить порождаемый процесс с массивом аргументов |
spawnve | выполнить порождаемый процесс с массивом аргументов и задан ным окружением |
spawnvp | выполнить порождаемый процесс, используя переменную PATH и массив аргументов |
spawnvpe | выполнить порождаемый процесс, используя переменную PATH, заданное окружение и массив аргументов |
system | выполнение команды MS-DOS |
Система программирования MSC предоставляет дополнительно функции:
Функция | Краткое описание |
getpid | получить номер процесса |
onexit | выполнить функцию при завершении программы |
Термин "процесс" относится к программе, которая выполняется под управлением операционной системы. Процесс состоит из кодов программы и данных, а также информации о состоянии процесса, такой, как число открытых файлов. Где бы ни выполнялась программа на уровне MS-DOS, запускается процесс. Можно запустить, остановить и управлять процессом из программы, используя функции управления процессом. Прототипы всех функций управления процессами объявлены в файле process.h (исключая функцию signal). Прототип функции signal содержится в файле signal.h. Функции управления процессом позволяют следующее:
1) Узнать уникальный номер процесса (getpid).
2) Завершить процесс (abort, exit, _exit).
3) Управлять сигналами прерывания (signal).
4) Начать новый процесс (разновидности ехес и spawn функции, system функция).
Функции abort и _exit осуществляют немедленное завершение без скидывания буферов потоков, функция exit осуществляет выход после скидывания буферов потоков. Функция system вызывает на выполнение заданную команду MS-DOS. Функции ехес и spawn создают новый процесс, называемый порождаемым процессом. Разница между функциями ехес и spawn в том, что spawn способна возвращать управление из порождаемого процесса к его родителю. Оба, и родитель, и порождаемый процесс, размещаются в памяти (если не указан флаг P_OVERLAY).
В функции ехес порождаемый процесс перекрывает порождающий процесс, так что возврат управления в родительский процесс невозможен (если не произошла ошибка во время попытки запуска на выполнение порождаемого процесса).
В таблице описывается способ формирования ехес и spawn. Имя функции задается в первом поле. Второе поле определяет: используется ли переменная PATH для поиска файла для выполнения, который определяет порождаемый процесс.
Третье поле описывает метод передачи аргументов порождаемому процессу. Передача аргументов списком означает, что аргументы в порождаемый процесс передаются один за одним, в том порядке, как пользователь перечислил их в обращении к функции ехес или spawn. Передача аргументов массивом означает, что аргументы помещаются в массив и указатель на массив передается порождаемому процессу. Передача списком обычно используется, когда число аргументов постоянно и известно заранее, а метод передачи аргументов массивом полезен, когда число аргументов должно быть определено во время работы. Последнее поле определяет: унаследует ли порождаемый процесс от родителя окружение, или оно будет изменено для него.
Таблица 9.1.
функция | Использование PATH переменной | Способ передачи аргументов | Окружение |
execl | не использует PATH | список аргументов | наследует от родителя |
spawnl | |||
execle | не использует PATH | список аргументов | указатель на таблицу окружения (последний аргумент) |
spawnle | |||
execlp | использует PATH | список аргументов | наследует от родителя |
spawnlp | |||
execlpe | использует PATH | список аргументов | указатель на таблицу окружения (последний аргумент) |
spawnlpe | |||
execv | не использует PATH | массив аргументов | наследует от родителей |
spawnv | |||
execve | не использует PATH | массив аргументов | указатель на таблицу окружения (последний аргумент) |
spawnve | |||
execvp | использует PATH | массив аргументов | наследует от родителя |
spawnvp | |||
execvpe | использует PATH | массив аргументов | указатель на таблицу окружения (последний аргумент) |
spawnvpe |
- Работа с областями памяти и строками
- Определение класса символов и преобразование символов
- Форматные преобразования данных
- Работа с каталогами файловой системы
- Операции над файлами
- Ввод и вывод
- Математические функции
- Динамическое распределение памяти
- Использование системных вызовов операционной системы MS-DOS
- Управление процессами
- Поиск и сортировка
- Функции работы со временем
- Функции работы со списком аргументов
- Другие функции
- 9.4. Управление дескрипторами файлов
- Глава 9 Управление процессами и каналы
- 9.1. Создание и управление процессами
- Глава 3 Подсистема управления процессами
- Создание и управление процессами
- ГЛАВА 6 Управление процессами
- Использование типа V. Управление процессами
- 3.4.2. Управление процессами понимания и влияния в коммуникации
- Глава 3 Управление процессами
- ГЛАВА 7. УПРАВЛЕНИЕ ПРОЦЕССАМИ
- 15.3. Процесс