.\" -*- coding: UTF-8 -*- .de Id .ds Rv \\$3 .ds Dt \\$4 .. .\"if n .pl +(135i-\n(.pu) .Id $Id$ .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH LOCKFILE 1 \*(Dt BuGless .rn SH Sh .de SH .br .ne 11 .Sh "\\$1" .. .rn SS Ss .de SS .br .ne 10 .Ss "\\$1" .. .rn TP Tp .de TP .br .ne 9 .Tp \\$1 .. .rn RS Rs .de RS .na .nf .Rs .. .rn RE Re .de RE .Re .fi .ad .. .de Sx .PP .ne \\$1 .RS .. .de Ex .RE .PP .. .na .SH NUME lockfile \- creator de fișiere\- semafoare condiționale .SH REZUMAT \fBlockfile\fP \fB\-\fP\fItimp\-dormire\fP | \fB\-r \fP\fIreîncercări\fP | .if n .ti +0.5i \fB\-l \fP\fItimp\-de\-blocare\fP | \fB\-s \fP\fItimp\-suspendare\fP | \fB\-!\fP | \fB\-ml\fP | \fB\-mu\fP | \fInume\-fișier\fP \&.\|.\|. .ad .SH DESCRIERE \fBlockfile\fP poate fi utilizat pentru a crea unul sau mai multe \fIfișiere\fP \fIsemafor\fP. În cazul în care «lockfile» nu poate crea toate fișierele specificate (în ordinea specificată), așteaptă \fItimp\-dormire\fP (valoarea implicită este 8) secunde și încearcă din nou ultimul fișier care nu a reușit. Puteți specifica numărul de \fIreîncercări\fP care trebuie efectuate până când este returnat eșecul. Dacă numărul de \fIreîncercări\fP este \-1 (implicit, adică \fB\-r\-1\fP) «lockfile» va încerca din nou la nesfârșit. .PP Dacă numărul de \fIreîncercări\fP expiră înainte ca toate fișierele să fi fost create, «lockfile» returnează eșecul și elimină toate fișierele create până în acel moment. .PP Utilizarea fișierului de blocare ca o condiție a unei bucle într\-un script shell poate fi realizată cu ușurință prin utilizarea fanionului \fB\-!\fP pentru a inversa starea de ieșire. Pentru a preveni buclele infinite, eșecurile din orice alt motiv decât existența deja a fișierului de blocare nu sunt inversate în succes, ci sunt returnate în continuare ca eșecuri. .PP Toate opțiunile pot fi specificate oriunde în linia de comandă și vor fi procesate atunci când sunt întâlnite. Linia de comandă este pur și simplu analizată de la stânga la dreapta. .PP Toate fișierele create de «lockfile» vor fi numai pentru citire și, prin urmare, vor trebui să fie eliminate cu \fBrm\fP \fB\-f\fP. .PP Dacă specificați un \fItimp\-de\-blocare\fP, atunci un fișier de blocare va fi eliminat forțat după ce au trecut secundele de „timp\-de\-blocare” de când fișierul de blocare a fost modificat/creat ultima dată (cel mai probabil de către un alt program care a murit în mod neașteptat cu mult timp în urmă și, prin urmare, nu a putut curăța niciun fișier de blocare rămas). «lockfile» este imun la distorsiunea ceasului. După ce un fișier de blocare a fost eliminat cu forța, se ia în considerare o suspendare de \fItimp\-suspendare\fP secunde (valoarea implicită este 16), pentru a preveni eliminarea imediată și neintenționată a oricărui fișier de blocare nou creat de către un alt program (comparați \fBTIMP_SUSPENDARE\fP în \fBprocmail\fP(1)). .SS "Blocări pentru căsuțele poștale" În cazul în care permisiunile din directorul de distribuție a corespondenței de sistem „spool” permit acest lucru sau dacă «lockfile» are un setgid corespunzător, acesta va putea bloca și debloca căsuța poștală de sistem utilizând opțiunile \fB\-ml\fP și, respectiv, \fB\-mu\fP. .SH EXEMPLE Să presupunem că doriți să vă asigurați că accesul la fișierul „important” este serializat, adică nu mai mult de un program sau script shell ar trebui să aibă acces la el. Pentru simplificare, să presupunem că este vorba de un script shell. În acest caz, ați putea rezolva problema în felul următor: .RS \&.\|.\|. lockfile important.lock \&.\|.\|. accesați_„important”_după_bunul_plac \&.\|.\|. rm \-f important.lock \&.\|.\|. .RE Acum, dacă toate scripturile care accesează „important” urmează această linie directoare, veți fi siguri că cel mult un script va fi executat între comenzile «lockfile» și «rm». .SH MEDIU .TP 2.3i \fBLOGNAME\fP utilizat ca indicație pentru a determina numele de utilizator al apelantului .SH FIȘIERE .TP 2.3i \fB/etc/passwd\fP pentru a verifica și/sau corecta numele de utilizator al apelantului (și pentru a afla directorul HOME al acestuia, dacă este necesar) .TP \fB/var/mail/$LOGNAME.lock\fP fișier de blocare pentru căsuța poștală a sistemului, variabilele de mediu prezente aici nu vor fi preluate din mediu, ci vor fi determinate prin căutarea în „/etc/passwd” .SH "CONSULTAȚI ȘI" .na .nh \fBrm\fP(1), \fBmail\fP(1), \fBsendmail\fP(8), \fBprocmail\fP(1) .hy .ad .SH DIAGNOSTICARE .TP 2.3i Numele fișierului este prea lung, .\|.\|. Utilizați nume de fișiere mai scurte. .TP Deblocare forțată refuzată la „x” Nu există permisiune de scriere în directorul în care se află fișierul de blocare „x” sau mai multe «lockfile» încearcă să forțeze o blocare exact în același timp. .TP Blocare forțată pe „x” Fișierul de blocare „x” va fi eliminat cu forța din cauza depășirii unui timp\-de\-blocare (comparați \fBTIMP_DE_BLOCARE\fP în \fBprocmail\fP(1)). .TP Memorie epuizată, .\|.\|. Sistemul nu mai are spațiu de interschimb „swap”. .TP S\-a primit semnalul, .\|.\|. «lockfile» va șterge tot ce a creat până acum și se va încheia. .TP Scuze, .\|.\|. A fost atinsă limita de \fIreîncercări\fP. .TP Trunchierea lui „x” și reîncercarea blocării „x” nu pare să fie un nume de fișier valid. .TP Încearcă o rugăciune, .\|.\|. Lipsesc subdirectoare sau nu sunt suficiente privilegii. .SH ERORI În mod sigur, mai puțin de una. .SH AVERTISMENTE Comportamentul fanionului \fB\-!\fP, deși este util, nu este neapărat intuitiv sau coerent. Atunci când testează valoarea de returnare a «lockfile», autorii de scripturi shell trebuie să se gândească bine dacă doresc să folosească fanionul \fB\-!\fP, să inverseze pur și simplu testul sau să facă un comutator pe codul de ieșire exact. În general, indicatorul \fB\-!\fP ar trebui să fie utilizat numai atunci când «lockfile» este condiționalul unei bucle. .SH DIVERSE «lockfile» este rezistent la NFS și curat pe opt biți. .SH NOTE Apelarea «lockfile» cu opțiunile „\-h” sau „\-?” va face ca acesta să afișeze o pagină de ajutor în linia de comandă. Apelul cu opțiunea „\-v” va determina afișarea informațiilor despre versiunea sa. .PP Mai multe fanioane \fB\-!\fP vor schimba starea de returnare. .PP Deoarece opțiunile pot apărea oriunde în linia de comandă, orice nume de fișier care începe cu „\-” trebuie să fie precedat de „./”. .PP Numărul de \fIreîncercări\fP nu va fi reinițiat la crearea unui fișier următor (adică sunt pur și simplu utilizate). Cu toate acestea, el poate fi reinițiat prin specificarea \-r\fInoi\-reîncercări\fP după fiecare fișier din linia de comandă. .PP Deși fișierele cu orice nume pot fi utilizate ca fișiere de blocare, este o practică obișnuită să se utilizeze extensia „.lock” pentru a bloca dosarele de corespondență (aceasta este adăugată la numele dosarului de corespondență). În cazul în care nu se dorește să se facă griji cu privire la nume de fișiere prea lungi și nu trebuie să se respecte nici o altă convenție privind numele de blocare, atunci o modalitate excelentă de a genera un nume de fișier de blocare corespunzător unui fișier deja existent este de a lua prefixul „lock.” și de a adăuga numărul nodului\-i al fișierului care urmează să fie blocat. .Sh SOURCE Acest program face parte din pachetul \fIprocmail mail\-processing\-package\fP (v3.24) disponibil la http://www.procmail.org/ sau ftp.procmail.org în \fBpub/procmail/\fP. .Sh MAILINGLIST Există o listă de corespondență pentru întrebări legate de orice program din pachetul procmail: .RS .RS pentru a trimite întrebări/răspunsuri. .RE .RS pentru cererile de abonare. .RE .PP .RE Dacă doriți să fiți informat cu privire la noile versiuni și corecțiile oficiale, trimiteți o cerere de abonament la adresa .RS procmail\-announce\-request@procmail.org .RE (aceasta este o listă numai\-pentru\-citire). .SH AUTORI Stephen R. van den Berg .RS .RE .\".if n .pl -(\n(.tu-1i) .rm SH .rn Sh SH .rm SS .rn Ss SS .rm TP .rn Tp TP .rm RS .rn Rs RS .rm RE .rn Re RE .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 .