Интегрированные сети ISDN


Краткий справочник по командам UNIX - часть 4


В случае каталогов sticky bit позволяет стереть только файлы, которыми владеет пользователь.

Различается несколько типов процессов.

  1. Системные процессы являются частью ядра и резидентно размещены в оперативной памяти. Они запускаются при инициализации ядра системы. Системными процессами являются, например, kmadaemon (диспетчер памяти ядра), shed (диспетчер свопинга), bdfflush (диспетчер кэша), init (прародитель всех остальных процессов).
  2. Демоны – не интерактивные процессы, запускаемые путем загрузки в память соответствующих программ и выполняемые в фоновом режиме. Демоны не ассоциируются ни с одним из пользователей (они служат, например, для организации терминального ввода, печатающего устройства, сетевого доступа).
  3. Прикладные процессы – это остальные процессы принадлежащие, как правило, пользователям.

Процессы создаются процедурой fork и характеризуются набором атрибутов:

PID

(Process ID) представляет собой уникальное имя процесса (идентификатор нового процесса характеризуется большим кодом, чем идентификатор предыдущего). После уничтожения процесса ликвидируется и его PID и этот идентификатор может быть присвоен новому процессу.

PPID

(Parent Process ID) – идентификатор процесса, породившего данный процесс.

Приоритет процесса

(Nice Number) учитывается планировщиком при определении очередности запуска процессов.

TTY

псевдотерминал, ассоциированный с процессом. Демоны не имеют псевдотерминала.

RID (Real ID)

пользователя, запустившего данный процесс. Эффективный идентификатор (EUID) служит для определения прав доступа процесса к системным ресурсам.

Для запуска задачи процесс должен выполнить системный вызов exec. При этом не порождается новый процесс, а код процесса замещается полностью кодом запускаемой программы.

Так, когда пользователь вводит команду ls, текущий процесс shell осуществляет вызов fork, порождая новый процесс – копию shell. Порожденный процесс осуществит вызов exec, указав в качестве параметра имя исполняемого файла (ls). Ls замещает shell, а по завершении работы процесс уничтожается.

Сигналы

Сигналы служат для того, чтобы передавать от одного процесса к другому или от ядра к какому-то процессу, уведомление о происхождении некоторого события. Примером такого события может быть нажатие клавиши мышки или нажатие клавиш <Ctrl><C> (SIGINIT)или <Ctrl><Alt><Del>.

Для отправления сигнала служит команда kill pid, где sig_no – номер или символическое название сигнала, pid - идентификатор процесса, которому адресован сигнал. Для остановки процесса, выполняемого в фоновом режиме можно послать сигнал SIGTERM. Например, kill $!, где $! – переменная, где хранится идентификатор процесса (PID), запущенного последним.




Начало  Назад  Вперед



Книжный магазин