Provided by: manpages-ro-dev_4.27.0-1_all 

NUME
process_madvise - oferă sfaturi despre utilizarea memoriei pentru un proces
BIBLIOTECA
Biblioteca C standard (libc, -lc)
SINOPSIS
#include <sys/mman.h>
ssize_t process_madvise(int pidfd, const struct iovec iovec[.n],
size_t n, int advice, unsigned int fanioane);
DESCRIERE
Apelul de sistem process_madvise() este utilizat pentru a da sfaturi sau indicații nucleului cu privire
la intervalele de adrese ale unui alt proces sau ale procesului apelant. Acesta oferă sfaturi pentru
intervalele de adrese descrise de iovec și n. Scopul acestor sfaturi este de a îmbunătăți performanța
sistemului sau a aplicației.
Argumentul pidfd este un descriptor de fișier PID (a se vedea pidfd_open(2)) care specifică procesul
căruia trebuie să i se aplice sfatul.
Indicatorul iovec indică o matrice de structuri iovec, descrise în iovec(3type).
n specifică numărul de elemente din matricea de structuri iovec. Această valoare trebuie să fie mai mică
sau egală cu IOV_MAX (definită în <limits.h> sau accesibilă prin apelul sysconf(_SC_IOV_MAX)).
Argumentul advice este una dintre următoarele valori:
MADV_COLD
A se vedea madvise(2).
MADV_COLLAPSE
A se vedea madvise(2).
MADV_PAGEOUT
A se vedea madvise(2).
MADV_WILLNEED
A se vedea madvise(2).
Argumentul fanioane este rezervat pentru utilizare viitoare; în prezent, acesta trebuie să fie specificat
ca fiind 0.
Argumentele n și iovec sunt verificate înainte de a aplica orice sfat. În cazul în care n este prea mare
sau iovec nu este valid, se va returna imediat o eroare și nu se va aplica nici un sfat.
Sfatul ar putea fi aplicat numai unei părți din iovec dacă unul dintre elementele sale indică o regiune
de memorie nevalidă în procesul la distanță. Nici un alt element nu va fi procesat dincolo de acest
punct; (a se vedea discuția privind recomandările parțiale în secțiunea VALOAREA RETURNATĂ).
Începând cu Linux 5.12, permisiunea de a aplica sfaturi unui alt proces este guvernată de verificarea
modului de acces ptrace PTRACE_MODE_READ_FSCREDS (a se vedea ptrace(2)); în plus, din cauza implicațiilor
de performanță ale aplicării sfaturilor, apelantul trebuie să aibă capacitatea CAP_SYS_NICE (a se vedea
capabilities(7)).
VALOAREA RETURNATĂ
În caz de succes, process_madvise() returnează numărul de octeți recomandat. Această valoare de returnare
poate fi mai mică decât numărul total de octeți solicitați, dacă a apărut o eroare după ce unele elemente
iovec au fost deja procesate. Apelantul trebuie să verifice valoarea de returnare pentru a determina dacă
a avut loc o recomandare parțială.
În caz de eroare, se returnează -1, iar errno este configurată pentru a indica eroarea.
ERORI-IEȘIRE
EBADF pidfd nu este un descriptor de fișier PID valid.
EFAULT Memoria descrisă de iovec se află în afara spațiului de adrese accesibil al procesului la care se
referă pidfd.
EINVAL fanioane(flags) nu este 0.
EINVAL Suma valorilor iov_len din iovec depășește o valoare ssize_t.
EINVAL n este prea mare.
ENOMEM Nu s-a putut aloca memorie pentru copiile interne ale structurilor iovec.
EPERM Apelantul nu are permisiunea de a accesa spațiul de adrese al procesului pidfd.
ESRCH Procesul țintă nu există (adică s-a încheiat și a fost așteptat).
A se vedea madvise(2) pentru erorile specifice advice.
STANDARDE
Linux.
ISTORIC
Linux 5.10, glibc 2.36.
Suportul pentru acest apel de sistem este opțional, în funcție de valoarea opțiunii de configurare
CONFIG_ADVISE_SYSCALLS.
Când acest apel de sistem a apărut pentru prima dată în Linux 5.10, permisiunea de a aplica sfaturi unui
alt proces era în întregime guvernată de verificarea modului de acces ptrace PTRACE_MODE_ATTACH_FSCREDS
(a se vedea ptrace(2)). Această cerință a fost relaxată în Linux 5.12, astfel încât apelantul să nu aibă
nevoie de control total asupra procesului țintă.
CONSULTAȚI ȘI
madvise(2), pidfd_open(2), process_vm_readv(2), process_vm_write(2)
TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu
<remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o
versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO
RESPONSABILITATE.
Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-
ro@lists.sourceforge.net.
Pagini de manual de Linux 6.9.1 2 mai 2024 process_madvise(2)