summaryrefslogtreecommitdiffstats
path: root/po-man/uk/procps_pids.3
diff options
context:
space:
mode:
Diffstat (limited to 'po-man/uk/procps_pids.3')
-rw-r--r--po-man/uk/procps_pids.3204
1 files changed, 204 insertions, 0 deletions
diff --git a/po-man/uk/procps_pids.3 b/po-man/uk/procps_pids.3
new file mode 100644
index 0000000..839ba42
--- /dev/null
+++ b/po-man/uk/procps_pids.3
@@ -0,0 +1,204 @@
+.\"
+.\" Copyright (c) 2020-2023 Jim Warner <james.warner@comcast.net>
+.\" Copyright (c) 2020-2023 Craig Small <csmall@dropbear.xyz>
+.\"
+.\" This manual is free software; you can redistribute it and/or
+.\" modify it under the terms of the GNU Lesser General Public
+.\" License as published by the Free Software Foundation; either
+.\" version 2.1 of the License, or (at your option) any later version.
+.\"
+.\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH PROCPS_PIDS 3 "серпень 2022 року" libproc2
+.\" Please adjust this date whenever revising the manpage.
+.\"
+.nh
+.SH НАЗВА
+procps_pids — програмний інтерфейс для доступу до даних процесів у файловій
+системі /proc
+
+.SH "КОРОТКИЙ ОПИС"
+.nf
+#include <libproc2/pids.h>
+
+int\fB procps_pids_new \fP (struct pids_info **\fIinfo\fP, enum pids_item *\fIitems\fP, int \fInumitems\fP);
+int\fB procps_pids_ref \fP (struct pids_info *\fIinfo\fP);
+int\fB procps_pids_unref\fP (struct pids_info **\fIinfo\fP);
+
+
+struct pids_stack *\fBprocps_pids_get\fP (
+ struct pids_info *\fIinfo\fP,
+ enum pids_fetch_type \fIwhich\fP);
+
+struct pids_fetch *\fBprocps_pids_reap\fP (
+ struct pids_info *\fIinfo\fP,
+ enum pids_fetch_type \fIwhich\fP);
+
+struct pids_fetch *\fBprocps_pids_select\fP (
+ struct pids_info *\fIinfo\fP,
+ unsigned *\fIthese\fP,
+ int \fInumthese\fP,
+ enum pids_select_type \fIwhich\fP);
+
+struct pids_stack **\fBprocps_pids_sort\fP (
+ struct pids_info *\fIinfo\fP,
+ struct pids_stack *\fIstacks\fP[],
+ int \fInumstacked\fP,
+ enum pids_item \fIsortitem\fP,
+ enum pids_sort_order \fIorder\fP);
+
+int \fBprocps_pids_reset\fP (
+ struct pids_info *\fIinfo\fP,
+ enum pids_item *\fInewitems\fP,
+ int \fInewnumitems\fP);
+
+struct pids_stack *\fBfatal_proc_unmounted\fP (
+ struct pids_info *\fIinfo\fP,
+ int \fIreturn_self\fP);
+
+.fi
+
+Компонувати з \fI\-lproc2\fP.
+
+.SH ОПИС
+.SS Огляд
+Центральною для цього інтерфейсу є проста структура «result», яка визначає
+«item» і його значення (в об'єднання зі стандартними типами мови C, як
+учасниками). Усі структури «result» буде автоматично розподілено і надано
+бібліотекою.
+
+Заданням масиву значень «item» ці структури можна упорядкувати як «стек» із
+потенційним отримання багатьох результатів одним викликом функції. Таким
+чином, «стек» можна розглядати як запис змінної довжини, вміст якого та
+порядок записів у якому визначаються лише користувачем.
+
+Частиною цього інтерфейсу є два унікальних лічильники. Для зберігання їхніх
+значень передбачено записи «noop» та «extra». Їхні значення ніколи не
+встановлюються бібліотекою, але результат «extra» буде занулено на початку
+кожної взаємодії із бібліотекою.
+
+Базовим документом при розробці користувацької програми буде файл заголовків
+pids.h. Там ви знайдете усі доступні записи (item), тип, який вони
+повертають (назву члена структури «result») і джерело для таких
+значень. Також там наведено документацію щодо додаткових лічильників та
+структур.
+
+.SS Користування
+Нижче наведено типову послідовність викликів цього інтерфейсу.
+
+.nf
+1. \fBfatal_proc_unmounted()\fP
+2. \fBprocps_pids_new()\fP
+3. \fBprocps_pids_get()\fP, \fBprocps_pids_reap()\fP або \fBprocps_pids_select()\fP
+4. \fBprocps_pids_unref()\fP
+.fi
+
+Функція \fBget\fP є ітератором для послідовних PID/TID, що повертає ці «items»,
+раніше вказані за допомогою \fBnew\fP або \fBreset\fP.
+
+Для непередбачуваних результатів для змінних передбачено дві
+функції. Функція \fBreap\fP збирає дані для усіх процесів, а функція \fBselect\fP
+працює зі специфічними PID та UID. Обидві можуть повертати декілька
+«стеків», кожне з яких містить декілька структур «result». Крім того,
+користувач може наказати \fBупорядкувати\fP (\fBsort\fP) ці результати.
+
+Щоб скористатися будь\-яким «stack» і отримати доступ до окремих структур
+«result», потрібен \fIrelative_enum\fP, як це показано у макросі \fBVAL\fP, який
+визначено у файлі заголовка. ТАкі значення можна запрограмувати як: значення
+від 0 до numitems\-1. Втім, цю потребу типово можна задовольнити створенням
+ваших власних лічильників, які відповідають порядку у масиві «items».
+
+.SS Застереження
+Програмний інтерфейс <pids> відрізняється від інших тим, що потрібні
+записи має бути надано під час виконання \fBnew\fP або \fBreset\fP, останній
+варіант є унікальним для цього програмного інтерфейсу. Якщо якийсь із
+параметрів, \fIitems\fP або \fInumitems\fP, є нульовим на час \fBnew\fP, обов'язковим
+перед надсиланням будь\-якого іншого виклику стає \fBreset\fP.
+
+Для функцій \fBnew\fP і \fBunref\fP має бути надано адресу вказівник структури
+\fIinfo\fP. Із \fBnew\fP її має бути ініціалізовано значенням NULL. Із \fBunref\fP її
+буде скинуто до NULL, якщо контрольний відлік дійде до нуля.
+
+Функції \fBget\fP і \fBreap\fP використовують параметр \fIwhich\fP для визначення
+того, слід отримувати дані лише для завдань чи для завдань і потоків
+обробки.
+
+Функція \fBselect\fP потребує масиву PID або UID, як \fIthese\fP разом із
+\fInumthese\fP, для визначення того, дані яких процесів слід отримати. Далі, ця
+функція працює із підмножиною \fBreap\fP.
+
+Якщо використано функцію \fBsort\fP, зазвичай, буде повернуто параметри
+\fIstacks\fP і \fInumstacked\fP у структурі «pids_fetch».
+
+Нарешті, можна викликати функцію \fBfatal_proc_unmounted\fP до будь\-якої іншої
+функції для забезпечення монтування каталогу /proc/. Якщо каталог
+змонтовано, параметр \fIinfo\fP матиме значення NULL, а параметр \fIreturn_self\fP
+матиме нульове значення. Якщо, втім, деякі записи потрібні для запуску
+програми (\fIreturn_self\fP відмінне від нуля), виклик \fBnew\fP має передувати
+виклику цієї функції для того, щоб вказати \fIitems\fP і отримати потрібний
+вказівник \fIinfo\fP.
+
+.SH "ПОВЕРНУТЕ ЗНАЧЕННЯ"
+.SS "Функції, які повертають «int»"
+На помилку вказуватиме від'ємне число, яке є завжди оберненим до якогось
+відомого значення з errno.h.
+
+На успіх вказує нульовий стан повернення. Втім, функції \fBref\fP і \fBunref\fP
+повертають поточний контрольний відлік структури \fIinfo\fP.
+
+.SS "Функції, які повертають «address»"
+На помилку вказуватиме повернутий NUL\-вказівник із повідомлення про причину
+у формальному значенні errno.
+
+На успіх вказує повернення вказівника на іменовану структуру. Втім, якщо
+щось переживе виклик \fBfatal_proc_unmounted\fP, NULL завжди буде повернуто,
+якщо значенням \fIreturn_self\fP є нуль.
+
+.SH ДІАГНОСТИКА
+Щоб полегшити розробку програм, передбачено дві можливості procps\-ng, якими
+можна скористатися.
+
+Першою є файл із назвою «libproc.supp», яким можна скористатися при розробці
+\fIбагатопотокової\fP програми. Якщо скористатися ним у поєднанні із параметром
+valgrind «\-\-suppressions=», можна уникнути виведення попереджень, які
+пов'язано із самою бібліотекою procps.
+
+Такі попередження виникають через те, що бібліотека обробляє засновані на
+«купі» функції отримання пам'яті у безпечний щодо потоків обробки
+спосіб. \fIОднопотокові\fP програми не призводитимуть до появи таких
+попереджень.
+
+Друга функція може допомогти забезпечити узгодженість посилань на члени
+«result» із очікуваннями бібліотеки. У цій функції передбачено, що наданий
+макрос у файлі заголовків буде використано для доступу до значення «result».
+
+Цю можливість можна активувати за допомогою будь\-якого з вказаних нижче
+методів, а усі розбіжності буде записано до \fBstderr\fP.
+
+.IP 1) 3
+Додайте CFLAGS='\-DXTRA_PROCPS_DEBUG' до будь\-яких інших застосованих у
+вашому проєкті параметрів ./configure.
+
+.IP 2) 3
+Додайте #include <procps/xtra\-procps\-debug.h> у програму \fIпісля\fP
+#include <procps/pids.h>.
+
+.PP
+Використання цієї можливості перевірки призводить до суттєвих обчислювальних
+витрат. Через це, важливо \fIне\fP вмикати її під час остаточного збирання або
+збирання програми для випуску.
+
+.SH "ЗМІННІ СЕРЕДОВИЩА"
+Встановлене значення є несуттєвим, достатнього самого факту його
+встановлення.
+
+.IP LIBPROC_HIDE_KERNEL
+Призведе до приховування потоків обробки ядра, які інакше було б повернуто
+викликом \fBprocps_pids_get\fP, \fBprocps_pids_select\fP або \fBprocps_pids_reap\fP.
+
+.SH "ТАКОЖ ПЕРЕГЛЯНЬТЕ"
+\fBprocps\fP(3), \fBprocps_misc\fP(3), \fBproc\fP(5).