Како покренути скрипте и команде за обустављање и наставак на Линук-у

Најбољи начин да покренете скрипте и команде за суспендовање и наставак рада на Линук-у пре суспендовања (или након наставка) је коришћење система системд инит. Ово је због чињенице да инит систем директно комуницира са језгром и системима напајања. Научите да радите са овим алатом омогућиће сваком кориснику да стекне велику контролу над својим Линук оперативним системом,

Имајте на уму да петљање са инит системом на вашем рачунару може бити опасно ако не знате шта радите. Обавезно пратите упутства у овом водичу што је ближе могуће, да бисте избегли све могуће незгоде.

Не подржава свака модерна Линук дистрибуција систем системд инит. Неки користе упстарт или нешто сасвим друго. У овом водичу ћемо се фокусирати на системд јер је то најчешћи систем иницијације. Ако желите да извршите овај задатак на нечему што не ради оно што покривамо у овом чланку, размислите о томе да погледате упутство за оперативни систем за упутства.

Напомена: Дебиан корисници би требало да замене све инстанце уср/либ/системд/систем-слееп са /либ/системд/систем-слееп/

Покретање команде пре суспензије

Да бисте покренули скрипту пре суспендовања, поставите било коју датотеку басх скрипте у директоријум /уср/либ/системд/систем-слееп/. Саме скрипте могу све, али постоји одређена синтакса које се мора придржавати. Почните тако што ћете отворити прозор терминала. Користећи судо -с, добијте роот схелл.

Затим отворите нано уређивач текста унутар директоријума за спавање система:

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

Додајте схебанг на почетак сценарија. Додавање овога је критично, а без тога, тумач неће моћи исправно да прочита код и команде.

#!/bin/bash/

Следећи део скрипте је „ако“. Ово ће рећи систему контроле напајања да „ако“ систем треба да се обустави, нешто би требало да се деси. Налепите код испод:

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

Промените сх /патх/то/сцрипт/то/рун.сх у скрипти на оно што желите да покренете на свом Линук рачунару (или серверу) непосредно пре него што се систем обустави. Имајте на уму да ред непосредно после „иф“ не мора да буде сх /патх/то/сцрипт/то/рун.сх. Ово такође можете користити за извршавање различитих команди. Све док басх може да је препозна као команду, она ће се покренути.

  Како користити команду фолд на Линук-у

Последњи део скрипте „пре суспендовања“ је додавање дела „друго ако“. Овај аспект скрипте не треба да се мења, јер, у овом примеру, бринемо да урадимо нешто пре него што се систем поквари, а не када се поново пробуди.

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

Када је све додато у датотеку, притисните Цтрл + О да бисте сачували нано.

Покретање команде након наставка

Извршавање команде након настављања функционише слично као покретање нечега пре обуставе. Једина стварна разлика је уместо додавања команде после „иф“ дела скрипте, учинили бисте да се најважнији део кода појави после „елиф“ реда.

Да бисте направили скрипту за наставак, прво додајте схебанг као први ред.

#!bin/bash

У следећем реду додајте део скрипте „ако“.

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

Са тим делом кода убаченим у басх скрипту, померите се надоле и налепите одељак „елсе иф“.

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

Још једном, у реду је написати било шта испод реда „елиф“. Све док је то нормална командна операција, системд и басх ће га покренути.

Покретање команди при покретању и настављању

Ако желите да покренете две супротне команде; један пре суспендовања, а један у наставку, могуће је. То само значи прилагођавање скрипте и додавање редова и испод линије ‘иф’, као и линије ‘елсеиф’.

Као и обично, почните тако што ћете поставити схебанг у сценарио за преводиоца.

#!/bin/bash

Затим налепите иф део кода.

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

Под иф, замените „# замени са командом“ било којом командом коју желите да покренете непосредно пре него што се систем поквари. Затим пређите на одељак „елиф“ и урадите исто.

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

Сачувајте датотеку помоћу Цтрл + О,

  Како инсталирати ПулсеЕффецтс аудио еквилајзер на Линук

Ажурирање дозвола и коришћење скрипте

Све потребне команде се налазе унутар датотеке скрипте, али пре него што се покрене, мораћете да ажурирате дозволе. Отворите терминал и добијете роот са: су или судо -с. Онда:

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

Од сада, кад год суспендујете или наставите, прилагођене команде унутар скрипте треба да се покрећу.

Напомена: имате питања о системском спавању система? Проверите упутство са ман системд-суспенд.сервице.