X-Git-Url: https://gapil.gnulinux.it/gitweb/?a=blobdiff_plain;f=prochand.tex;h=2be5cf1ef10948faba8004c897f5e5f5fa32c284;hb=bacb94a4e700a52b66cb5808f7e99b8a4b8be828;hp=5c6a408dbc9500f8631e116b82753e2f3c8e5f71;hpb=94b4d603807121b40eef06d22d2b6cd6e06ec7fd;p=gapil.git diff --git a/prochand.tex b/prochand.tex index 5c6a408..2be5cf1 100644 --- a/prochand.tex +++ b/prochand.tex @@ -960,10 +960,10 @@ comportamento di \func{wait}\footnote{in effetti il codice processo non è uscito e $-1$ per un errore, nel qual caso \var{errno} assumerà uno dei valori: \begin{errlist} - \item[\errcode{EINTR}] non è stata specificata l'opzione \const{WNOHANG} e - la funzione è stata interrotta da un segnale. \item[\errcode{ECHILD}] il processo specificato da \param{pid} non esiste o non è figlio del processo chiamante. + \item[\errcode{EINTR}] non è stata specificata l'opzione \const{WNOHANG} e + la funzione è stata interrotta da un segnale. \item[\errcode{EINVAL}] si è specificato un valore non valido per l'argomento \param{options}. \end{errlist}} @@ -1214,10 +1214,10 @@ suo prototipo è: {La funzione ritorna $0$ in caso di successo e $-1$ per un errore, nel qual caso \var{errno} assumerà uno dei valori: \begin{errlist} - \item[\errcode{EINTR}] non è stata specificata l'opzione \const{WNOHANG} e - la funzione è stata interrotta da un segnale. \item[\errcode{ECHILD}] il processo specificato da \param{pid} non esiste o non è figlio del processo chiamante. + \item[\errcode{EINTR}] non è stata specificata l'opzione \const{WNOHANG} e + la funzione è stata interrotta da un segnale. \item[\errcode{EINVAL}] si è specificato un valore non valido per l'argomento \param{options}. \end{errlist}} @@ -1391,27 +1391,25 @@ prototipo è: eseguibili, o il file è su un filesystem montato con l'opzione \cmd{noexec}, o manca il permesso di attraversamento di una delle directory del pathname. - \item[\errcode{EPERM}] il file ha i bit \itindex{suid~bit} \acr{suid} o - \itindex{sgid~bit} \acr{sgid} e l'utente non è root, ed il processo viene - tracciato, oppure il filesystem è montato con l'opzione \cmd{nosuid}. + \item[\errcode{EINVAL}] l'eseguibile ELF ha più di un segmento + \const{PF\_INTERP}, cioè chiede di essere eseguito da più di un + interprete. + \item[\errcode{ELIBBAD}] un interprete ELF non è in un formato + riconoscibile. \item[\errcode{ENOEXEC}] il file è in un formato non eseguibile o non riconosciuto come tale, o compilato per un'altra architettura. \item[\errcode{ENOENT}] il file o una delle librerie dinamiche o l'interprete necessari per eseguirlo non esistono. + \item[\errcode{EPERM}] il file ha i bit \itindex{suid~bit} \acr{suid} o + \itindex{sgid~bit} \acr{sgid} e l'utente non è root, ed il processo viene + tracciato, oppure il filesystem è montato con l'opzione \cmd{nosuid}. \item[\errcode{ETXTBSY}] l'eseguibile è aperto in scrittura da uno o più processi. - \item[\errcode{EINVAL}] l'eseguibile ELF ha più di un segmento - \const{PF\_INTERP}, cioè chiede di essere eseguito da più di un - interprete. - \item[\errcode{ELIBBAD}] un interprete ELF non è in un formato - riconoscibile. \item[\errcode{E2BIG}] la lista degli argomenti è troppo grande. \end{errlist} - ed inoltre \errval{EFAULT}, \errval{ENOMEM}, - \errval{EIO}, \errval{ENAMETOOLONG}, \errval{ELOOP}, \errval{ENOTDIR}, - \errval{EISDIR}, \errval{ENFILE}, \errval{EMFILE} nel loro significato - generico. -} + ed inoltre \errval{EFAULT}, \errval{EIO}, \errval{EISDIR}, \errval{ELOOP}, + \errval{EMFILE}, \errval{ENAMETOOLONG}, \errval{ENFILE}, \errval{ENOMEM}, + \errval{ENOTDIR} nel loro significato generico. } \end{funcproto} La funzione \func{execve} esegue il programma o lo script indicato dal @@ -2224,9 +2222,9 @@ il suo prototipo è: caso \var{errno} assumerà uno dei valori: \begin{errlist} \item[\errcode{EFAULT}] \param{list} non ha un indirizzo valido. -\item[\errcode{EPERM}] il processo non ha i privilegi di amministratore. \item[\errcode{EINVAL}] il valore di \param{size} è maggiore del valore massimo consentito di gruppi supplementari. +\item[\errcode{EPERM}] il processo non ha i privilegi di amministratore. \end{errlist}} \end{funcproto} @@ -2248,9 +2246,9 @@ un utente specifico, si può usare \funcd{initgroups} il cui prototipo è: {La funzione ritorna $0$ in caso di successo e $-1$ per un errore, nel qual caso \var{errno} assumerà uno dei valori: \begin{errlist} -\item[\errcode{EPERM}] il processo non ha i privilegi di amministratore. \item[\errcode{ENOMEM}] non c'è memoria sufficiente per allocare lo spazio per informazioni dei gruppi. +\item[\errcode{EPERM}] il processo non ha i privilegi di amministratore. \end{errlist}} \end{funcproto} @@ -2537,10 +2535,10 @@ funzione \funcd{getpriority}, derivata da BSD; il suo prototipo è: {La funzione ritorna $0$ in caso di successo e $-1$ per un errore, nel qual caso \var{errno} assumerà uno dei valori: \begin{errlist} -\item[\errcode{ESRCH}] non c'è nessun processo che corrisponda ai valori di - \param{which} e \param{who}. \item[\errcode{EINVAL}] il valore di \param{which} non è uno di quelli elencati in tab.~\ref{tab:proc_getpriority}. +\item[\errcode{ESRCH}] non c'è nessun processo che corrisponda ai valori di + \param{which} e \param{who}. \end{errlist}} \end{funcproto} @@ -2599,14 +2597,14 @@ impostare la priorità di uno o più processi; il suo prototipo è: {La funzione ritorna $0$ in caso di successo e $-1$ per un errore, nel qual caso \var{errno} assumerà uno dei valori: \begin{errlist} +\item[\errcode{EACCES}] si è richiesto un aumento di priorità senza avere + sufficienti privilegi. +\item[\errcode{EINVAL}] il valore di \param{which} non è uno di quelli + elencati in tab.~\ref{tab:proc_getpriority}. +\item[\errcode{EPERM}] un processo senza i privilegi di amministratore ha + cercato di modificare la priorità di un processo di un altro utente. \item[\errcode{ESRCH}] non c'è nessun processo che corrisponda ai valori di \param{which} e \param{who}. -\item[\errcode{EINVAL}] il valore di \param{which} non è uno di quelli - elencati in tab.~\ref{tab:proc_getpriority}. - \item[\errcode{EACCES}] si è richiesto un aumento di priorità senza avere - sufficienti privilegi. - \item[\errcode{EPERM}] un processo senza i privilegi di amministratore ha - cercato di modificare la priorità di un processo di un altro utente. \end{errlist}} \end{funcproto} @@ -2739,11 +2737,11 @@ ordinarie o viceversa, che di specificare, in caso di politiche {La funzione ritorna $0$ in caso di successo e $-1$ per un errore, nel qual caso \var{errno} assumerà uno dei valori: \begin{errlist} - \item[\errcode{ESRCH}] il processo \param{pid} non esiste. \item[\errcode{EINVAL}] il valore di \param{policy} non esiste o il relativo valore di \param{p} non è valido per la politica scelta. \item[\errcode{EPERM}] il processo non ha i privilegi per attivare la politica richiesta. + \item[\errcode{ESRCH}] il processo \param{pid} non esiste. \end{errlist}} \end{funcproto} @@ -2906,14 +2904,14 @@ prototipi sono: \fdecl{int sched\_getparam(pid\_t pid, struct sched\_param *param)} \fdesc{Legge la priorità statica di un processo.} } -{La funzione ritorna $0$ in caso di successo e $-1$ per un errore, nel qual +{Le funzioni ritornano $0$ in caso di successo e $-1$ per un errore, nel qual caso \var{errno} assumerà uno dei valori: \begin{errlist} -\item[\errcode{ESRCH}] il processo \param{pid} non esiste. \item[\errcode{EINVAL}] il valore di \param{param} non ha senso per la politica usata dal processo. \item[\errcode{EPERM}] non si hanno privilegi sufficienti per eseguire l'operazione. +\item[\errcode{ESRCH}] il processo \param{pid} non esiste. \end{errlist}} \end{funcproto} @@ -2945,9 +2943,9 @@ prototipo è: {La funzione ritorna la politica di \textit{scheduling} in caso di successo e $-1$ per un errore, nel qual caso \var{errno} assumerà uno dei valori: \begin{errlist} - \item[\errcode{ESRCH}] il processo \param{pid} non esiste. \item[\errcode{EPERM}] non si hanno privilegi sufficienti per eseguire l'operazione. + \item[\errcode{ESRCH}] il processo \param{pid} non esiste. \end{errlist}} \end{funcproto} @@ -2970,10 +2968,10 @@ il suo prototipo è: {La funzione ritorna $0$ in caso di successo e $-1$ per un errore, nel qual caso \var{errno} assumerà uno dei valori: \begin{errlist} -\item[\errcode{ESRCH}] il processo \param{pid} non esiste. \item[\errcode{EINVAL}] l'argomento \param{pid} non è valido. \item[\errcode{ENOSYS}] la \textit{system call} non è presente (solo per kernel arcaici). +\item[\errcode{ESRCH}] il processo \param{pid} non esiste. \end{errlist} ed inoltre anche \errval{EFAULT} nel suo significato generico.} \end{funcproto} @@ -3105,11 +3103,11 @@ funzione di libreria è \funcd{sched\_setaffinity} ed il suo prototipo è: {La funzione ritorna $0$ in caso di successo e $-1$ per un errore, nel qual caso \var{errno} assumerà uno dei valori: \begin{errlist} -\item[\errcode{ESRCH}] il processo \param{pid} non esiste. \item[\errcode{EINVAL}] il valore di \param{mask} contiene riferimenti a processori non esistenti nel sistema o a cui non è consentito l'accesso. \item[\errcode{EPERM}] il processo non ha i privilegi sufficienti per eseguire l'operazione. +\item[\errcode{ESRCH}] il processo \param{pid} non esiste. \end{errlist} ed inoltre anche \errval{EFAULT} nel suo significato generico.} \end{funcproto} @@ -3326,9 +3324,9 @@ cui prototipo è: {La funzione ritorna $0$ in caso di successo e $-1$ per un errore, nel qual caso \var{errno} assumerà uno dei valori: \begin{errlist} -\item[\errcode{ESRCH}] il processo \param{pid} non esiste. \item[\errcode{EINVAL}] \param{setsize} è più piccolo delle dimensioni della maschera di affinità usata dal kernel. +\item[\errcode{ESRCH}] il processo \param{pid} non esiste. \end{errlist} ed inoltre anche \errval{EFAULT} nel suo significato generico.} \end{funcproto} @@ -3406,11 +3404,11 @@ prototipi sono: successo e $-1$ per un errore, nel qual caso \var{errno} assumerà uno dei valori: \begin{errlist} -\item[\errcode{ESRCH}] non esiste un processo corrispondente alle indicazioni. \item[\errcode{EINVAL}] i valori di \param{which} o di \param{ioprio} non sono validi. \item[\errcode{EPERM}] non si hanno i privilegi per eseguire l'impostazione (solo per \func{ioprio\_set}). +\item[\errcode{ESRCH}] non esiste un processo corrispondente alle indicazioni. \end{errlist}} \end{funcproto} @@ -3995,6 +3993,9 @@ visto in sez.~\ref{sec:proc_syscall}.\footnote{ed inoltre per questa \end{errlist}} \end{funcproto} +% NOTE: una pagina con la descrizione degli argomenti: +% * http://www.lindevdoc.org/wiki/Clone + La funzione prende come primo argomento \param{fn} il puntatore alla funzione che verrà messa in esecuzione nel nuovo processo, che può avere un unico argomento di tipo puntatore a \ctyp{void}, il cui valore viene passato dal @@ -4020,7 +4021,7 @@ disponibili:\footnote{alla stesura di questa sezione, cioè con il kernel 3.2.} \begin{basedescript}{\desclabelstyle{\pushlabel}} -\item[\const{CLONE\_CHILD\_CLEARTID}] +\item[\const{CLONE\_CHILD\_CLEARTID}] \item[\const{CLONE\_CHILD\_SETTID}] \item[\const{CLONE\_FILES}] \item[\const{CLONE\_FS}] @@ -4285,8 +4286,8 @@ aggiungendo il suffisso \code{\_r} al nome della versione normale. % LocalWords: ETXTBSY EINVAL ELIBBAD BIG EFAULT EIO ENAMETOOLONG ELOOP ENOTDIR % LocalWords: ENFILE EMFILE argc execl path execv execle execlp execvp vector % LocalWords: list environ NULL umask pending utime cutime ustime fcntl linker -% LocalWords: opendir libc interpreter FreeBSD capabilities Mandatory Access -% LocalWords: Control MAC SELinux Security Modules LSM superuser uid gid saved +% LocalWords: opendir libc interpreter FreeBSD capabilities mandatory access +% LocalWords: control MAC SELinux security modules LSM superuser uid gid saved % LocalWords: effective euid egid dell' fsuid fsgid getuid geteuid getgid SVr % LocalWords: getegid IDS NFS setuid setgid all' logout utmp screen xterm TODO % LocalWords: setreuid setregid FIXME ruid rgid seteuid setegid setresuid size @@ -4329,9 +4330,9 @@ aggiungendo il suffisso \code{\_r} al nome della versione normale. % LocalWords: namespace vsyscall SETTID FILES NEWIPC NEWNET NEWNS NEWPID ptid % LocalWords: NEWUTS SETTLS SIGHAND SYSVSEM UNTRACED tls ctid CLEARTID panic % LocalWords: loader EISDIR SIGTRAP uninterrutible killable EQUAL sizeof XOR +% LocalWords: destset srcset ALLOC num cpus setsize emacs %%% Local Variables: %%% mode: latex %%% TeX-master: "gapil" %%% End: -% LocalWords: destset srcset ALLOC num cpus setsize emacs