reboot(2) System Calls Manual reboot(2) NUME reboot - repornete sau activeaza/dezactiveaza Ctrl-Alt-Del BIBLIOTECA Biblioteca C standard (libc, -lc) SINOPSIS /* Incepand cu Linux 2.1.30 exista nume simbolice LINUX_REBOOT_* pentru constante i un al patrulea argument pentru apel: */ #include /* Definiia constantelor LINUX_REBOOT_* */ #include /* Definiia constantelor SYS_* */ #include int syscall(SYS_reboot, int magic, int magic2, int op, void *arg); /* Sub glibc i majoritatea bibliotecilor alternative (inclusiv uclibc, dietlibc, musl i alte cateva), unele dintre constantele implicate au devenit nume simbolice RB_*, iar apelul de biblioteca este un apel cu 1 argument in jurul apelului de sistem: */ #include /* Definiia constantelor RB_* */ #include int reboot(int op); DESCRIERE Apelul reboot() repornete sistemul sau activeaza/dezactiveaza apasarea combinaia tastelor de repornire (abreviata CAD, deoarece valoarea implicita este Ctrl-Alt-Delete; aceasta poate fi schimbata cu ajutorul comenzii loadkeys(1)). Acest apel de sistem eueaza (cu eroarea EINVAL) daca magic nu este egal cu LINUX_REBOOT_MAGIC1 (adica 0xfee1dead) i magic2 nu este egal cu LINUX_REBOOT_MAGIC2 (adica 0x28121969). Cu toate acestea, incepand cu Linux 2.1.17, i LINUX_REBOOT_MAGIC2A (adica 0x05121996) i incepand cu Linux 2.1.97 i LINUX_REBOOT_MAGIC2B (adica 0x16041998) i incepand cu Linux 2.5.71 i LINUX_REBOOT_MAGIC2C (adica 0x20112000) sunt permise ca valori pentru magic2; (valorile hexazecimale ale acestor constante sunt semnificative). Argumentul op poate avea urmatoarele valori: LINUX_REBOOT_CMD_CAD_OFF (RB_DISABLE_CAD, 0). CAD este dezactivata. Aceasta inseamna ca apasarea combinaiei tastelor CAD va determina trimiterea unui semnal SIGINT catre init (procesul 1), dupa care acest proces poate decide asupra unei aciuni adecvate (ce poate fi: omorarea tuturor proceselor, sincronizare, repornire). LINUX_REBOOT_CMD_CAD_ON (RB_ENABLE_CAD, 0x89abcdef). CAD este activata. Aceasta inseamna ca apasarea combinaiei tastelor CAD va determina imediat aciunea asociata cu LINUX_REBOOT_CMD_RESTART. LINUX_REBOOT_CMD_HALT (RB_HALT_SYSTEM, 0xcdef0123; incepand cu Linux 1.1.76). Se afieaza mesajul ,,System halted." (Sistemul se oprete.), iar sistemul este oprit. Controlul este dat monitorului ROM, daca exista unul. Daca nu este precedat de un sync(2), datele vor fi pierdute. LINUX_REBOOT_CMD_KEXEC (RB_KEXEC, 0x45584543, incepand cu Linux 2.6.13). Executa un nucleu care a fost incarcat anterior cu kexec_load(2). Aceasta opiune este disponibila numai daca nucleul a fost configurat cu CONFIG_KEXEC. LINUX_REBOOT_CMD_POWER_OFF (RB_POWER_OFF, 0x4321fedc; de la Linux 2.1.30). Se afieaza mesajul ,,Power down." (Se intrerupe alimentarea cu energie.), sistemul este oprit i, daca este posibil, se intrerupe toata alimentarea cu energie electrica a sistemului. Daca nu este precedat de un sync(2), datele vor fi pierdute. LINUX_REBOOT_CMD_RESTART (RB_AUTOBOOT, 0x1234567). Se afieaza mesajul ,,Restarting system." (Se repornete sistemul.) i se efectueaza imediat o repornire implicita. Daca nu este precedat de un sync(2), datele vor fi pierdute. LINUX_REBOOT_CMD_RESTART2 (0xa1b2c3d4; de la Linux 2.1.30). Se afieaza mesajul ,,Restarting system with command '%s'" (Se repornete sistemul cu comanda <<%s>>), iar repornirea (folosind irul de comenzi dat in arg) este efectuata imediat. Daca nu este precedat de un sync(2), datele vor fi pierdute. LINUX_REBOOT_CMD_SW_SUSPEND (RB_SW_SUSPEND, 0xd000fce1; incepand cu Linux 2.5.18). Sistemul este suspendat (hibernat) pe disc. Aceasta opiune este disponibila numai daca nucleul a fost configurat cu CONFIG_HIBERNATION. Numai superutilizatorul poate apela reboot(). Efectul exact al aciunilor de mai sus depinde de arhitectura. Pentru arhitectura i386, argumentul suplimentar nu face nimic in prezent (2.1.122), dar tipul de repornire poate fi determinat prin argumentele din linia de comanda a nucleului (,,reboot=...") pentru a fi fie repornire la ,,cald", fie repornire la ,,rece" sau fie prin hardware (butonul de reiniializare), fie prin BIOS. Comportament in interiorul spaiilor de nume PID Incepand cu Linux 3.4, daca reboot() este apelat de la un spaiu de nume PID, altul decat spaiul de nume PID iniial cu una dintre valorile op enumerate mai jos, acesta efectueaza o ,,repornire" a acelui spaiu de nume: procesul ,,init" al spaiului de nume PID este imediat incheiat, cu efectele descrise in pid_namespaces(7). Valorile care pot fi furnizate in op atunci cand se apeleaza reboot() in acest caz sunt urmatoarele: LINUX_REBOOT_CMD_RESTART LINUX_REBOOT_CMD_RESTART2 Procesul ,,init" se termina, iar wait(2) din procesul parinte raporteaza ca procesul-copil a fost omorat cu un semnal SIGHUP. LINUX_REBOOT_CMD_POWER_OFF LINUX_REBOOT_CMD_HALT Procesul ,,init" se termina, iar wait(2) din procesul parinte raporteaza ca procesul-copil a fost omorat cu un semnal SIGINT. Pentru celelalte valori op, reboot() returneaza -1, iar errno este configurata la EINVAL. VALOAREA RETURNATA Pentru valorile lui op care opresc sau repornesc sistemul, un apel reuit la reboot() nu se returneaza. Pentru celelalte valori op, se returneaza zero in caz de succes. In toate cazurile, in caz de eec, se returneaza -1, iar errno este configurata pentru a indica eroarea. ERORI-IEIRE EFAULT Problema cu obinerea datelor din spaiul utilizatorului sub LINUX_REBOOT_CMD_RESTART2. EINVAL Numere magice greite sau valoare greita a op. EPERM Procesul apelant nu are privilegii suficiente pentru a apela reboot(); apelantul trebuie sa aiba CAP_SYS_BOOT in spaiul sau de nume de utilizator. STANDARDE Linux. CONSULTAI I systemctl(1), systemd(1), kexec_load(2), sync(2), bootparam(7), capabilities(7), ctrlaltdel(8), halt(8), shutdown(8) TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . Pagini de manual de Linux 6.12 23 iulie 2024 reboot(2)