Программе, выполняемой в Linux, нужен ряд ресурсов. Ей требуется память. Программа может открывать файлы или подключаться к определенному серверу. Эти соединения отслеживаются с помощью файловых дескрипторов. Программа содержит информацию о текущем каталоге, где она будет искать файлы, если их имена начинаются не с ‘/’. У нее есть окружение с переменными окружения. Еще программе необходимо процессорное время. Процесс хранит весь контекст и ресурсы, необходимые для запуска программы.
Новый процесс создается тогда, когда в существующем процессе выполняется системный вызов fork(). Исходный процесс называется родительским, а новый – дочерним. Сначала дочерний процесс является точной копией родительского и выполняет ту же самую программу. Затем дочерний процесс перестает работать и запускает другую программу с помощью системного вызова exec().
Процесс завершается системным вызовом exit(). Когда дочерний процесс прекращает работу, он возвращает код завершения родительскому процессу, чтобы сообщить об успешном завершении работы (код 0) или об ошибке (отличное от 0 значение). Родительский процесс может ждать завершения дочернего и получить его статус с помощью системного вызова wait(). Такое происходит при наборе команды в оболочке – она создает для переданной команды новый процесс и ждет, пока он завершится.
Посмотреть выполняющиеся в системе процессы можно с помощью команды ps, у которой есть много флагов для выбора отображаемых процессов и информации о них.
Полезная информация: Интернет постоянно расширяется, продажи компьютеров и ноутбуков растут, почти все стремятся подключить сеть Интернет, а в итоге больше всего посещают развлекательные сайты. Поэтому разработка порталов и социальных сетей очень перспективное дело. По адресу http://www.inclouds.ru/services/portals/ вы узнаете цены на услуги настоящих специалистов по созданию сайтов.
Комментарии
Чтобы оставить комментарий, необходимо войти или зарегистрироваться