Управление процессами
Управление процессами
Функция Краткое описание 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
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Глава 9 Управление процессами и каналы
Глава 9 Управление процессами и каналы Как мы говорили в главе 1 «Введение», если бы нужно было резюмировать Unix (а следовательно, и Linux) в трёх словах, это были бы «файлы и процессы». Теперь, когда мы увидели, как работать с файлами и каталогами, время взглянуть на оставшуюся
9.1. Создание и управление процессами
9.1. Создание и управление процессами В отличие от многих предшествующих и последующих операционных систем, создание процессов в Unix задумывалось (и было сделано) дешевым. Более того, Unix разделяет идеи «создания нового процесса» и «запуска данной программы в процессе». Это
ГЛАВА 6 Управление процессами
ГЛАВА 6 Управление процессами Процесс (process) представляет собой объект, обладающий собственным независимым виртуальным адресным пространством, в котором могут размещаться код и данные, защищенные от других процессов. В свою очередь, внутри каждого процесса могут
Глава 3 Управление процессами
Глава 3 Управление процессами Процесс — одно из самых важных абстрактных понятий в Unix-подобных операционных системах[8]. По сути, процесс — это программа, т.е. объектный код, хранящийся на каком-либо носителе информации и находящийся в состоянии исполнения. Однако
Управление процессами
Управление процессами Время — это средство, с помощью которого Природа не дает всему происходить сразу. В компьютерах таким средством служат процессы. Процесс — это исполняющаяся программа. Он состоит из исполняемой программы, данных программы и некоторой информации
Создание и управление процессами
Создание и управление процессами Работая в командной строке shell вы, возможно, не задумывались, каким образом запускаются программы. На самом деле каждый раз порождается новый процесс, а затем загружается программа. В UNIX эти два этапа четко разделены. Соответственно
Взаимодействие между процессами
Взаимодействие между процессами Как уже обсуждалось, в UNIX процессы выполняются в собственном адресном пространстве и по существу изолированы друг от друга. Тем самым сведены к минимуму возможности влияния процессов друг на друга, что является необходимым в
Взаимодействие с прикладными процессами
Взаимодействие с прикладными процессами Рассмотренный ранее программный интерфейс TLI полностью реализует функциональность TPI. Легко заметить соответствие между отдельными функциями TLI и примитивами TPI, приведенными в табл. 6.10. Схема вызова функций TPI и обмена
ГЛАВА 7. УПРАВЛЕНИЕ ПРОЦЕССАМИ
ГЛАВА 7. УПРАВЛЕНИЕ ПРОЦЕССАМИ В предыдущей главе был рассмотрен контекст процесса и описаны алгоритмы для работы с ним; в данной главе речь пойдет об использовании и реализации системных функций, управляющих контекстом процесса. Системная функция fork создает новый
7.2.3 Посылка сигналов процессами
7.2.3 Посылка сигналов процессами Для посылки сигналов процессы используют системную функцию kill. Синтаксис вызова функции:kill(pid, signum)где в pid указывается адресат посылаемого сигнала (область действия сигнала), а в signum — номер посылаемого сигнала. Связь между значением pid и
Глава 26 Управление процессами
Глава 26 Управление процессами Данная глава посвящена процессам операционной системы Linux. Поскольку администрирование операционной системы в конечном счете сводится к управлению процессами, вполне логично выделить отдельную главу на описание столь важной темы.Каждый
9.2. Команды управления процессами
9.2. Команды управления процессами 9.2.1. Иерархия процессов: ps и pstree О том, что команда ps позволяет просмотреть сведения обо всех процессах, протекающих в системе в данный момент, вы уже знаете (п.3.2). С ключом -f эта команда выводит как PID самого процесса, так и PPID его родителя,
14.1.3. Манипулирование процессами
14.1.3. Манипулирование процессами В этом разделе мы обсудим манипулирование процессами, хотя создание нового процесса необязательно связано с запуском внешней программы. Основной способ создания нового процесса — это метод fork, название которого в соответствии с
3.1. Знакомство с процессами
3.1. Знакомство с процессами Пользователю достаточно войти в систему, чтобы в ней начали выполняться процессы. Даже если пользователь ничего не запускает, а просто сидит перед экраном и пьет кофе. в системе все равно "теплится жизнь". Любой выполняющейся программе
Управление процессами
Управление процессами Функция Краткое описание abort завершить процесс execl выполнить порождаемый процесс со списком аргументов execle выполнить порождаемый процесс со списком аргументов и заданным окружением (контекстом имен командного языка операционной