Paras tapa suorittaa komentosarjoja ja komentojakeskeytä ja jatka Linuxissa ennen keskeyttämistä (tai jatkamisen jälkeen) on käyttää systed init -järjestelmää. Tämä johtuu siitä, että init-järjestelmä on vuorovaikutuksessa suoraan ytimen ja voimajärjestelmien kanssa. Tämän työkalun kanssa työskentelyn oppiminen antaa käyttäjille mahdollisuuden hallita Linux-käyttöjärjestelmäänsä paljon,
Ymmärrä se sekoitus inittietokoneesi järjestelmä voi olla vaarallinen, jos et tiedä mitä teet. Noudata varmasti tämän oppaan ohjeita mahdollisimman tarkasti mahdollisten väärinkäytösten välttämiseksi.
Kaikki moderni Linux-jakelu eivät tuesysted init -järjestelmä. Jotkut käyttävät nousua tai jotain muuta kokonaan. Tässä opetusohjelmassa keskitymme systemiin, koska se on yleisin aloitusjärjestelmä. Jos haluat suorittaa tämän tehtävän jollain, joka ei suorita sitä, mitä tässä artikkelissa kerrotaan, harkitse tutustumista käyttöjärjestelmän käsikirjaan.
Huomaa: Debian-käyttäjien tulisi korvata kaikki esiintymät usr / lib / systemd / system-uni kanssa / Lib / systemd / system-uni /
Komennon suorittaminen ennen keskeyttämistä

Suorita komentosarja ennen keskeyttämistä asettamalla bash-komentosarjatiedosto / Usr / lib / systemd / system-uni / hakemistoon. Skriptit voivat itse tehdä mitä tahansa, mutta on olemassa tietty syntaksi, jota on noudatettava. Aloita avaamalla pääteikkuna. Hanki juurikuori sudo -s avulla.
Seuraavaksi nano-tekstieditori järjestelmän unen hakemistoon:
nano /usr/lib/systemd/system-sleep/pre-suspend.sh
Lisää shebang komentosarjan alkuun. Tämän lisääminen on kriittistä, ja ilman sitä tulkki ei pysty lukemaan koodia ja komentoja oikein.
#!/bin/bash/
Komentosarjan seuraava osa on ”jos”. Tämä kertoo tehonohjausjärjestelmälle, että "jos" järjestelmä on menossa pysähtymään, jotain pitäisi tapahtua. Liitä alla oleva koodi:
if [ "${1}" == "pre" ]; then sh /path/to/script/to/run.sh
Muuttaa sh /path/to/script/to/run.sh komentosarjasta mihin tahansa haluat käyttää Linux-PC: lläsi (tai palvelimella) heti ennen kuin järjestelmä sammuu keskeytettäväksi. Muista, että linjan heti ”if” jälkeen ei tarvitse olla sh /path/to/script/to/run.sh. Voit käyttää tätä myös suorittamaan erilaisia komentoja. Niin kauan kuin bash tunnistaa sen komennona, se suoritetaan.
"Ennen keskeyttämistä" -komentosarjan viimeinen osa on lisätä "muuten jos" -osa. Tätä käsikirjoituksen osaa ei tarvitse muokata, koska tässä esimerkissä olemme huolissamme tekemästä jotain ennen järjestelmä menee alas, eikä kun se herää takaisin.
elif [ "${1}" == "post" ]; then # nothing goes here fi
Kun kaikki on lisätty tiedostoon, paina -näppäintä Ctrl + O pelastaa nanon.
Komennon suorittaminen jatkamisen jälkeen

Komennon suorittaminen jatkamisen jälkeen toimii kutenajaa jotain ennen keskeyttämistä. Ainoa todellinen ero on sen sijaan, että lisätään komentoa komentosarjan "jos" -osan jälkeen, sinun pitäisi tehdä koodin tärkeimmästä osasta "elif" -rivin jälkeen.
Jos haluat luoda jatkamisen komentosarjan, lisää ensin shebang ensimmäiseksi riviksi.
#!bin/bash
Lisää seuraavalle riville skriptin "jos" -osa.
if [ "${1}" == "pre" ]; then # nothing goes here
Siirrä alaspäin ja liitä “else if” -osio niin vähän koodilla, että se on liitetty bash-komentosarjaan.
elif [ "${1}" == "post" ]; then sh /path/to/script/to/run.sh fi
Jälleen kerran on hyvä kirjoittaa mitä tahansa elif-riville. Niin kauan kuin se on normaali komento-operaatiojärjestelmä ja bash ajaa sitä.
Komentojen suorittaminen käynnistyksen yhteydessä ja jatka

Jos haluat suorittaa kaksi vastakkaisia komentoja; yksiennen keskeyttämistä ja yhden jatkamisen jälkeen, se on mahdollista. Se tarkoittaa vain komentosarjan mukauttamista ja rivien lisäämistä sekä "if" -riville että "elseif" -riville.
Kuten tavallista, aloita aloittamalla lähettämällä shebang tulkin käsikirjoitukseen.
#!/bin/bash
Liitä seuraavaksi koodin if-osa.
if [ "${1}" == "pre" ]; then # replace with command
Korvaa kohdassa "korvaa komennolla" korvaa millä tahansa komennolla, jonka haluat suorittaa heti, ennen kuin järjestelmä sammuu. Siirry sitten “elif” -osaan ja tee sama.
elif [ "${1}" == "post" ]; then # replace with command fi
Tallenna tiedosto painikkeella Ctrl + O,
Käyttöoikeuksien päivittäminen ja komentosarjan käyttö
Kaikki tarvittavat komennot ovat skriptitiedoston sisällä, mutta ennen kuin se voidaan suorittaa, sinun on päivitettävä käyttöoikeudet. Avaa pääte ja hanki juuri: su tai sudo -s. Tee sitten:
chmod +x /usr/lib/systemd/system-sleep/pre-suspend.sh
Tästä eteenpäin aina, kun keskeytät tai jatkat, komentosarjan sisältämien mukautettujen komentojen tulisi suorittaa.
Huomaa: Onko sinulla kysyttävää järjestelmäjärjestelmästä uniajastusta? Tarkista käyttöohje painikkeella mies systemd-suspend.service.
Kommentit