- Kaip paleisti scenarijus ir komandas sustabdyti ir tęsti "Linux"

Kaip paleisti scenarijus ir komandas sustabdyti ir tęsti "Linux"

Geriausias būdas paleisti scenarijus ir komandassustabdyti ir atnaujinti „Linux“ prieš sustabdant (arba atnaujinus) yra naudoti „systemd init“ sistemą. Taip yra dėl to, kad init sistema tiesiogiai sąveikauja su branduoliu ir maitinimo sistemomis. Išmokimas dirbti su šiuo įrankiu leis bet kuriam vartotojui daug kontroliuoti savo „Linux“ operacinę sistemą,

Prašau suprasti, kad nesąmonė su iniciasistema jūsų kompiuteryje gali būti pavojinga, jei nežinote, ką darote. Kad išvengtumėte galimų nesėkmių, būtinai kuo atidžiau vykdykite šio vadovo nurodymus.

Ne kiekvienas šiuolaikinis Linux paskirstymas palaikosisteminė init sistema. Kai kurie visiškai naudoja „upstart“ ar dar ką nors. Šiame vadove dėmesys bus sutelktas į sisteminę įrangą, nes tai yra labiausiai paplitusi inicijavimo sistema. Jei norite atlikti šią užduotį dėl to, kas neatlieka to, ką aprašome šiame straipsnyje, pagalvokite apie operacinės sistemos vadovą, kuriame pateikiamos instrukcijos.

Pastaba: Debian'o vartotojai turėtų pakeisti visus egzempliorių atvejus usr / lib / systemd / system-sleep su / lib / systemd / sistemos miegas /

Komandos vykdymas prieš sustabdant

Norėdami paleisti scenarijų prieš sustabdymą, įdėkite bet kurį bash scenarijaus failą į / usr / lib / systemd / sistemos miegas / katalogą. Patys scenarijai gali padaryti bet ką, tačiau yra tam tikra sintaksė, kurios reikia laikytis. Pirmiausia atidarykite terminalo langą. Naudodamiesi sudo, įgykite šaknies apvalkalą.

Kitas, iki nano teksto rengyklės sistemos „miego“ kataloge:

nano /usr/lib/systemd/system-sleep/pre-suspend.sh

Prie scenarijaus pradžios pridėkite skiautelę. Pridėti tai yra labai svarbu, ir be jo vertėjas negalės teisingai perskaityti kodo ir komandų.

#!/bin/bash/

Kita scenarijaus dalis yra „jei“. Tai pasakys galios valdymo sistemai, kad „jei“ sistema nustos sustoti, kažkas turėtų įvykti. Įklijuokite kodą žemiau:

if [ "${1}" == "pre" ]; then
sh /path/to/script/to/run.sh

Keisti sh /path/to/script/to/run.sh scenarijuje, kad ir ką norėtumėte paleisti „Linux“ asmeniniame kompiuteryje (arba serveryje) prieš pat sistemai laikinai sustabdant. Atminkite, kad eilutės tiesiai po „jei“ nereikia būti sh /path/to/script/to/run.sh. Taip pat galite naudoti tai vykdydami įvairias komandas. Kol bashas atpažins jį kaip komandą, jis veiks.

Paskutinė scenarijaus „prieš sustabdymą“ dalis pridedama dalis „kitaip, jei“. Šis scenarijaus aspektas nereikia modifikuoti, nes šiame pavyzdyje mes nerimaujame dėl kažko prieš tai sistema eina žemyn, o ne tada, kai atsibunda.

elif [ "${1}" == "post" ]; then
# nothing goes here
fi

Kai viskas bus pridėta prie failo, paspauskite „Ctrl“ + O išsaugoti nano.

Komandos vykdymas po atnaujinimo

Komandos vykdymas po atnaujinimo veikia panašiaikažkas paleisti prieš sustabdant. Vienintelis tikras skirtumas yra tai, kad ne pridedate komandos po scenarijaus „if“ dalimi, bet svarbiausią kodo dalį pateiktumėte po eilute „elif“.

Norėdami sukurti scenarijų po atnaujinimo, pirmiausia pridėkite skiauterę kaip pirmąją eilutę.

#!bin/bash

Kitoje eilutėje pridėkite scenarijaus dalį „jei“.

if [ "${1}" == "pre" ]; then
# nothing goes here

Įdėdami tą bitų kodą į bash scenarijų, pereikite žemyn ir įklijuokite skyrių „else if“.

elif [ "${1}" == "post" ]; then
sh /path/to/script/to/run.sh
fi

Dar kartą sakoma, kad ką nors rašyti po eilute „elif“. Kol tai bus normali komandinė operacija, sistema bash ją vykdys.

Komandų vykdymas paleidžiant ir atnaujinant veiksmus

Jei norėtumėte paleisti dvi priešingas komandas; vienasprieš sustabdymą ir vieną atnaujinus, tai įmanoma. Tai tiesiog reiškia scenarijaus pritaikymą ir eilučių pridėjimą tiek prie eilutės „jei“, tiek prie „elseif“.

Kaip įprasta, pradėkite nuo to, kad pateiktumėte skiautelę į vertėjo scenarijų.

#!/bin/bash

Tada įklijuokite kodo skyrių „if“.

if [ "${1}" == "pre" ]; then
# replace with command

Jei ne, pakeiskite „# Pakeisti komanda“ bet kuria komanda, kurią norėtumėte paleisti prieš pat sistemai sumažinant. Tada pereikite prie „elif“ skyriaus ir darykite tą patį.

elif [ "${1}" == "post" ]; then
#  replace with command
fi

Įrašykite failą naudodami „Ctrl“ + O,

Leidimų atnaujinimas ir scenarijaus naudojimas

Visos būtinos komandos yra scenarijaus failo viduje, tačiau, kad jis būtų paleistas, turėsite atnaujinti leidimus. Atidarykite terminalą ir įsigykite šaknis naudodami: su arba sudo -s. Tada darykite:

chmod +x /usr/lib/systemd/system-sleep/pre-suspend.sh

Nuo šiol kiekvieną kartą, kai sustabdysite ar atnaujinsite, scenarijaus viduje turėtų būti vykdomos pasirinktos komandos.

Pastaba: turite klausimų apie sisteminį miego režimą? Patikrinkite vadovą naudodamiesi vyras systemd-suspend.service.

Komentarai