.\" -*- coding: UTF-8 -*- .\" Copyright (C) 2021 Suren Baghdasaryan .\" and Copyright (C) 2021 Minchan Kim .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" Commit ecb8ac8b1f146915aa6b96449b66dd48984caacc .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH process_madvise 2 "31 octombrie 2023" "Pagini de manual de Linux 6.06" .SH NUME process_madvise \- oferă sfaturi despre utilizarea memoriei pentru un proces .SH BIBLIOTECA Biblioteca C standard (\fIlibc\fP, \fI\-lc\fP) .SH REZUMAT .nf \fB#include \fP /* Definiția constantelor \fBMADV_*\fP */ \fB#include \fP /* Definiția constantelor \fBSYS_*\fP */ \fB#include \fP /* Definiția tipului \fBstruct iovec\fP */ \fB#include \fP .P \fBssize_t syscall(SYS_process_madvise, int \fP\fIpidfd\fP\fB,\fP \fB const struct iovec *\fP\fIiovec\fP\fB, size_t \fP\fIvlen\fP\fB, int \fP\fIadvice\fP\fB,\fP \fB unsigned int \fP\fIfanioane\fP\fB);\fP .fi .P .\" FIXME: See \fINotă\fP: glibc nu oferă o funcție de învăluire pentru \fBprocess_madvise\fP(), fiind necesară utilizarea \fBsyscall\fP(2). .SH DESCRIERE Apelul de sistem \fBprocess_madvise\fP() 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 \fIiovec\fP și \fIvlen\fP. Scopul acestor sfaturi este de a îmbunătăți performanța sistemului sau a aplicației. .P Argumentul \fIpidfd\fP este un descriptor de fișier PID (a se vedea \fBpidfd_open\fP(2)) care specifică procesul căruia trebuie să i se aplice sfatul. .P Indicatorul \fIiovec\fP indică o matrice de structuri \fIiovec\fP, descrise în \fBiovec\fP(3type). .P \fIvlen\fP specifică numărul de elemente din matricea de structuri \fIiovec\fP. Această valoare trebuie să fie mai mică sau egală cu \fBIOV_MAX\fP (definită în \fI\fP sau accesibilă prin apelul \fIsysconf(_SC_IOV_MAX)\fP). .P Argumentul \fIadvice\fP este una dintre următoarele valori: .TP \fBMADV_COLD\fP A se vedea \fBmadvise\fP(2). .TP \fBMADV_COLLAPSE\fP A se vedea \fBmadvise\fP(2). .TP \fBMADV_PAGEOUT\fP A se vedea \fBmadvise\fP(2). .TP \fBMADV_WILLNEED\fP A se vedea \fBmadvise\fP(2). .P Argumentul \fIfanioane\fP este rezervat pentru utilizare viitoare; în prezent, acesta trebuie să fie specificat ca fiind 0. .P Argumentele \fIvlen\fP și \fIiovec\fP sunt verificate înainte de a aplica orice sfat. În cazul în care \fIvlen\fP este prea mare sau \fIiovec\fP nu este valid, se va returna imediat o eroare și nu se va aplica nici un sfat. .P Sfatul ar putea fi aplicat numai unei părți din \fIiovec\fP 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Ă). .P .\" commit 96cfe2c0fd23ea7c2368d14f769d287e7ae1082e Începând cu Linux 5.12, permisiunea de a aplica sfaturi unui alt proces este guvernată de verificarea modului de acces ptrace \fBPTRACE_MODE_READ_FSCREDS\fP (a se vedea \fBptrace\fP(2)); în plus, din cauza implicațiilor de performanță ale aplicării sfaturilor, apelantul trebuie să aibă capacitatea \fBCAP_SYS_NICE\fP (a se vedea \fBcapabilities\fP(7)). .SH "VALOAREA RETURNATĂ" În caz de succes, \fBprocess_madvise\fP() 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 \fIiovec\fP au fost deja procesate. Apelantul trebuie să verifice valoarea de returnare pentru a determina dacă a avut loc o recomandare parțială. .P În caz de eroare, se returnează \-1, iar \fIerrno\fP este configurată pentru a indica eroarea. .SH ERORI\-IEȘIRE .TP \fBEBADF\fP \fIpidfd\fP nu este un descriptor de fișier PID valid. .TP \fBEFAULT\fP Memoria descrisă de \fIiovec\fP se află în afara spațiului de adrese accesibil al procesului la care se referă \fIpidfd\fP. .TP \fBEINVAL\fP \fIfanioane\fP nu este 0. .TP \fBEINVAL\fP Suma valorilor \fIiov_len\fP din \fIiovec\fP depășește o valoare \fIssize_t\fP. .TP \fBEINVAL\fP \fIvlen\fP este prea mare. .TP \fBENOMEM\fP Nu s\-a putut aloca memorie pentru copiile interne ale structurilor \fIiovec\fP. .TP \fBEPERM\fP Apelantul nu are permisiunea de a accesa spațiul de adrese al procesului \fIpidfd\fP. .TP \fBESRCH\fP Procesul țintă nu există (adică s\-a încheiat și a fost așteptat). .P A se vedea \fBmadvise\fP(2) pentru erorile specifice \fIadvice\fP. .SH STANDARDE Linux. .SH ISTORIC .\" commit ecb8ac8b1f146915aa6b96449b66dd48984caacc Linux 5.10. .P Suportul pentru acest apel de sistem este opțional, în funcție de valoarea opțiunii de configurare \fBCONFIG_ADVISE_SYSCALLS\fP. .P 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 \fBPTRACE_MODE_ATTACH_FSCREDS\fP (a se vedea \fBptrace\fP(2)). Această cerință a fost relaxată în Linux 5.12, astfel încât apelantul să nu aibă nevoie de control total asupra procesului țintă. .SH "CONSULTAȚI ȘI" \fBmadvise\fP(2), \fBpidfd_open\fP(2), \fBprocess_vm_readv\fP(2), \fBprocess_vm_write\fP(2) .PP .SH TRADUCERE Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu . .PP Această traducere este documentație gratuită; citiți .UR https://www.gnu.org/licenses/gpl-3.0.html Licența publică generală GNU Versiunea 3 .UE sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. .PP Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la .MT translation-team-ro@lists.sourceforge.net .ME .