Разработка динамических сайтов
SEO услуги
Управление контекстной рекламой

Вход на хостинг

Имя пользователя:*

Пароль пользователя:*

IT-новости

20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла

Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......

подробнее

30.07.2015 Ищем уникальный контент для сайта

Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......

подробнее

11.05.2015 Распространённые ошибки разработчиков сайтов

Не секрет, что в сети Интернет насчитывается миллионы сайтов, и каждый день появляются тысячси новых......

подробнее

-r--r--r--    1 root     root            0 Apr 13 21:59 mounts

lrwxrwxrwx    1 root     root            0 Apr 13 21:59 root -> //

-r--r--r--    1 root     root            0 Apr 13 21:59 stat

-r--r--r--    1 root     root            0 Apr 13 21:59 statm

-r--r--r--    1 root     root            0 Apr 13 21:59 status

 

n  cmdline – список аргументов процесса;

n  cwd – символическая ссылка на текущий рабочий каталог процесса;

n  environ – переменные среды процесса;

n  exe – символическая ссылка на исполняемый файл процесса;

n  fd – подкаталог, содержащий ссылки на файлы, открытые процессом;

n  maps – адресное пространство, выделенное процессу;

n  root – символическая ссылка на корневой каталог процесса;

n  mounts – информация о точках монтирования и типах файловых систем;

n  status – статистическая информация о процессе (имя процесса, идентификационный номер, состояние процесса, идентификатор владельца, группы, статистика использования памяти и т. д.).

Таким образом, при помощи /proc можно получить исчерпывающую информацию об интересующем процессе, используя имеющийся в нашем распоряжении инструментарий – команды shell либо средства языка программирования.

Представление процессов в ядре

Совокупность процессов в ядре Linux представляет собой кольцевой двусвязный список структур struct task_struct. Структура struct task_struct определена в файле <linux/sched.h> и содержит полную информацию о выполняемом процессе. Для нас интерес представляют следующие поля этой структуры:

volatile long state

Статус выполняемого процесса. Может принимать следующие значения:

n  TASK_RUNNING – процесс находится в очереди запущенных на выполнение задач;

n  TASK_INTERRUPTIBLE – процесс в состоянии «сна», но может быть «разбужен» по сигналу или по истечении таймера;

n  TASK_UNINTERRUPTIBLE – состояние процесса схоже с TASK_INTERRUPTIBLE, только он не может быть разбужен;

n  TASK_ZOMBIE – процесс-«зомби». Процесс завершил свою работу до того, как родительский процесс выполнил системный вызов wait;

n  TASK_STOPPED – выполнение процесса остановлено.

Все эти значения определены в файле <linux/sched.h>:

#define TASK_RUNNING           0

#define TASK_INTERRUPTIBLE     1

#define TASK_UNINTERRUPTIBLE   2

#define TASK_ZOMBIE            4

#define TASK_STOPPED           8

struct mm_struct *mm, struct mm_struct *active_mm

Указатели на адресное пространство, выделенное процессу. В состав структуры struct mm_struct входит структура struct vm_area_struct * mmap, в которой находятся данные об областях памяти, выделенных процессу. Два поля этой структуры, vm_start и vm_end, содержат адреса памяти, которую использует процесс. Детальное рассмотрение структуры struct vm_area_struct выходит за рамки данной статьи, для дальнейшей работы нам достаточно и этой информации.

pid_t pid

Идентификационный номер процесса.

uid_t uid, euid, suid, fsuid

Идентификаторы владельца процесса.

gid_t gid, egid, sgid, fsgid

Идентификаторы группы, к которой принадлежит данный процесс.

char comm[16]

Символьное имя процесса.

struct fs_struct *fs

Информация о файловой системе. Сама структура struct fs_struct определена в файле <linux/fs_struct.h>. Вот как она выглядит:

struct fs_struct {


Предыдущая страницаОглавлениеСледующая страница
 
[001] [002] [003] [004] [005] [006] [007] [008] [009] [010] [011] [012] [013] [014] [015] [016] [017] [018] [019] [020]
[021] [022] [023] [024] [025] [026] [027] [028] [029] [030] [031] [032] [033] [034] [035] [036] [037] [038] [039] [040]
[041] [042] [043] [044] [045] [046] [047] [048] [049] [050] [051] [052] [053] [054] [055] [056] [057] [058] [059] [060]
[061] [062] [063] [064] [065] [066] [067] [068] [069] [070] [071] [072] [073] [074] [075] [076] [077] [078] [079] [080]
[081] [082] [083] [084] [085] [086] [087] [088] [089] [090] [091] [092] [093] [094] [095] [096] [097] [098] [099] [100]
[101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120]
[121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140]
[141] [142] [143] [144] [145] [146] [147] [148] [149] [150] [151] [152] [153] [154] [155] [156] [157] [158] [159] [160]
[161] [162] [163] [164] [165] [166] [167] [168] [169] [170] [171] [172] [173] [174] [175] [176] [177] [178] [179] [180]
[181] [182] [183] [184] [185] [186] [187]

+7 (831) 413-63-27
ООО Дельта-Технология ©2007 - 2016 год
Нижний Новгород, ул. Дальняя, 17А.
Rambler's Top100