Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
1. Zahrnúť potrebné súbory hlavičky:
``` c
#include
```
2. Spustiť volanie reštartu systému:
Ak chcete spustiť reštart systému, použite funkciu `kernel_restart()`. Táto funkcia je súčasťou rozhrania API jadra Linuxu.
``` c
kernel_restart(LINUX_REBOOT_CMD_RESTART);
```
Argument `LINUX_REBOOT_CMD_RESTART` označuje, že chcete vykonať úplný reštart systému. K dispozícii sú ďalšie možnosti reštartu, ako napríklad `LINUX_REBOOT_CMD_HALT` na vypnutie systému.
3. Riešenie možných chýb:
Funkcia `kernel_restart()` môže vrátiť kód chyby, ak požiadavka na reštart zlyhá. Skontrolujte návratovú hodnotu a podľa toho riešte všetky chyby.
``` c
int ret =kernel_restart(LINUX_REBOOT_CMD_RESTART);
if (ret <0) {
// Opravte chybu.
}
```
4. Synchronizácia údajov a upokojenie systému:
Pred spustením procesu reštartu sa jadro pokúsi synchronizovať údaje a uviesť systém do konzistentného stavu. Môže to zahŕňať vyprázdnenie vyrovnávacích pamätí, zápis údajov do trvalého úložiska a elegantné zastavenie procesov.
5. Spustiť resetovanie napájania alebo zastavenie procesora:
Po synchronizácii údajov jadro spustí reštart napájania alebo zastavenie CPU. To závisí od hardvéru a líši sa v rôznych systémových architektúrach.
6. Zastaviť vykonávanie:
Po spustení procesu reštartu sa vykonávanie jadra zastaví. Systém sa reštartuje a spustí sa zo zavádzača.
Poznámky:
- Možnosť reštartovať systém z kódu jadra vyžaduje príslušné povolenia a môže byť obmedzená na určité používateľské kontexty alebo moduly jadra. Uistite sa, že máte potrebné oprávnenia na vykonanie reštartu z kódu jadra.
- V závislosti od verzie vášho jadra a konfigurácie systému môžu byť potrebné ďalšie kroky. Špecifické podrobnosti a potenciálne zmeny v mechanizmoch reštartu medzi rôznymi verziami jadra nájdete v dokumentácii k jadru Linuxu.