Основы многозадачности в Linux



бет2/15
Дата16.11.2022
өлшемі472,04 Kb.
#158456
1   2   3   4   5   6   7   8   9   ...   15
Байланысты:
5-6 лаб раб (1)

Процессы в Linux
В Linux каждому работающему процессу соответствует уникальное положительное целое число, которое называется идентификатором процесса и часто обозначается аббревиатурой PID (Process IDentifier).
К процессу также привязано еще одно положительное целое число — идентификатор родительского процесса, которое часто обозначается аббревиатурой PPID (Parent Process IDentifier).
Мы уже говорили о том, что на вершине дерева процессов находится процесс init. Идентификатор этого процесса всегда равен 1. Родителем init условно считается процесс с идентификатором 0, но фактически init не имеет родителя.
Для получения информации о процессах предназначена программа ps, поддерживающая большое количество опций. Некоторые из этих опций являются стандартными для Unix-подобных систем, другие зависят от конкретной реализации ps.
В Linux обычно установлена программа ps из пакета procps.
Рассмотрим некоторые примеры вызова программы ps. Если вызвать ps без аргументов, то на экране появится список процессов, запущенных под текущим терминалом:
$ ps
PID TTY TIME CMD
25164 pts/0 00:00:00 bash
26310 pts/0 00:00:00 ps

В данном случае изменился PID процесса для программы ps. Всякий раз, когда в системе рождается новый процесс, ядро Linux автоматически выделяет для него уникальный идентификатор.


Если теперь запустить под оболочкой какую-нибудь программу, то она будет связана с текущим терминалом и появится в выводе программы ps. Чтобы продемонстрировать это, запустим программу yes в фоновом режиме, перенаправив ее стандартный вывод на устройство /dev/nul
$ yes > /dev/null &
[1] 26600
$ ps
PID TTY TIME CMD
25164 pts/0 00:00:00 bash
26600 pts/0 00:00:05 yes
26618 pts/0 00:00:00 ps
Если теперь ничего не трогать, то даже через год процесс yes будет усердно пересылать поток символов "y" в "никуда". Чтобы предотвратить эту бессмыслицу, выведем процесс из фонового режима и завершим его комбинацией клавиш +:


Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   15




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет