Portál AbcLinuxu, 12. května 2025 12:43

Dotaz: Debian - jak "zpozdit" proces vypínání PC

19.8.2009 13:13 mmmnovak | skóre: 8
Debian - jak "zpozdit" proces vypínání PC
Přečteno: 490×
Odpovědět | Admin

Dobrý den,

mám Debian, kde je nainstalován APCUPSD a VMWare Server 2 s virtuálními stroji.

Po výpadku elektrické energie (po dosažení určitých nízkých procent baterie) dojde k vypínání PC ... u VMware serveru je nastaveno, aby se před vypnutím hosta vypli i virtuální stroje. Tudíž se začnou také vypínat virtuální stroje. Bohužel, než se stačí vypnout všechny virtuální stroje, Debian je už ve stádiu, kdy ukončuje celý systém (a nepočká na dokončení vypínání virtuálních strojů) a tudíž se mi 1 virtuální stroj neukončí zcela správně ...

Nevíte nebo neměl někdo také s tímto problém, jak vyřešit, aby Debian počkal na ukončení virtuálních strojů a až poté vypnul systém?

Nebo lze nějakým způsobem prodloužit čas vypínání Debianu?

 

Děkuji za všechny návrhy.

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

19.8.2009 13:32 jirkamailto | skóre: 31
Rozbalit Rozbalit vše Re: Debian - jak "zpozdit" proces vypínání PC
Odpovědět | | Sbalit | Link | Blokovat | Admin

 Dobry den, myslim ze by stacilo pri ukoncovani dat do rc skriptu nejaky, ktery by obsahoval neco ve stylu sleep a urcity cas, ktery potrebujete, nebo dalsi reseni, v ramci vypinani nejake sluzby pridat spusteni onoho skriptu. Alespon takhle bych to resil ja.

19.8.2009 13:56 mmmnovak | skóre: 8
Rozbalit Rozbalit vše Re: Debian - jak "zpozdit" proces vypínání PC

Metoda pauzy se mi moc nelíbí ... opravdu to nejde vyřešit nějakým způsobem, kdy se debian vypne až po 100% dokončení vypnutí virtuálních strojů ...?

19.8.2009 14:11 R
Rozbalit Rozbalit vše Re: Debian - jak "zpozdit" proces vypínání PC
Tak si tam pridaj cakanie na ich ukoncenie (neviem, ako sa da z toho vmware zistit, ci tam nieco este bezi).
19.8.2009 14:39 Dejv | skóre: 37 | blog: Jak ten blog nazvat ... ? | Ostrava
Rozbalit Rozbalit vše Re: Debian - jak "zpozdit" proces vypínání PC
Odpovědět | | Sbalit | Link | Blokovat | Admin
Co treba hlidat, jestli uz skoncily procesy vsech virtualnihc stroju?
Pevně věřím, že zkušenější uživatelé mě s mými nápady usměrní a pošlou tam, kam tyto nápady patří...
19.8.2009 14:42 mmmnovak | skóre: 8
Rozbalit Rozbalit vše Re: Debian - jak "zpozdit" proces vypínání PC

a jak to provést ...?

já zas tak moc v tom Debianu neumím :-(.

 

Díky.

19.8.2009 15:23 Dejv | skóre: 37 | blog: Jak ten blog nazvat ... ? | Ostrava
Rozbalit Rozbalit vše Re: Debian - jak "zpozdit" proces vypínání PC
Ted nemam moznost to overit, ale predpokladam, ze kazdy virtualni stroj ma svuj proces. Tak ve vypinacim scriptu (nevim, jak je tohle v Debianu reseno, nepouzivam Debian, nekdo kousek nize zminil /etc/init.d/halt) podle vypisu ps hlidat, jestli uz skoncily vsechny procesy virtualnich stroju. A az skonci, tak teprve pokracovat. Asi by bylo vhodne tam jeste pridat nejakou kontrolu casu, kdyby nektery virtualni stroj nahodou "zamrznul", at to nevybije baterku uplne.
Pevně věřím, že zkušenější uživatelé mě s mými nápady usměrní a pošlou tam, kam tyto nápady patří...
19.8.2009 15:30 mmmnovak | skóre: 8
Rozbalit Rozbalit vše Re: Debian - jak "zpozdit" proces vypínání PC

nápad je to skvělý, akorát, že něco takového asi nedoprogramuju do nastavení :-(

19.8.2009 16:05 chochi | skóre: 29 | Praha
Rozbalit Rozbalit vše Re: Debian - jak "zpozdit" proces vypínání PC

Hlidaci skript by mohl mohl vypadat nejak takhle:

# Limit in seconds to stop proces
limit=120
# Process name - used in pgrep
proc="vmware-vmx"

count=0
live=1
while [ $count -lt $limit -a $live -eq 1 ]; do
    if pgrep $proc >/dev/null; then
        echo "VMware still running, waiting 1 second ..."
        sleep 1
    else
        live=0
    fi
    count=`expr $count + 1`
done
if [ $count -eq $limit -a $live -eq 1 ]; then
    echo "VMware failed to stop in $limit seconds. Expect unclean shutdown!"
else
    echo "VMware sucesfully turned off."
fi

 

Kde je potreba upravit jmeno procesu (podle me by se ale mel jmenovat vmware-vmx, ale to chce zjisti (treba pomoci prikazu ps aux) a maximalni dobu cekani.

A nakonec to nejdulezitejsi dat tenhle kousek kodu do spravneho souboru - nejsem Debianista takze neporadim, mozna jiz zmineny /etc/rc/halt ?

Jakub Lucký avatar 19.8.2009 16:21 Jakub Lucký | skóre: 40 | Praha
Rozbalit Rozbalit vše Re: Debian - jak "zpozdit" proces vypínání PC
/etc/init.d/halt
If you understand, things are just as they are; if you do not understand, things are just as they are.
19.8.2009 16:59 mmmnovak | skóre: 8
Rozbalit Rozbalit vše Re: Debian - jak "zpozdit" proces vypínání PC

Díky moc za skript ...

jenom bych se chtěl zeptat na podmínku [$count -lt $limit -a $live -eq 1]

co znamená přepínač -a a -eq???

díky.

19.8.2009 17:13 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Debian - jak "zpozdit" proces vypínání PC
man test, tam najdeš obojí
Quando omni flunkus moritati
19.8.2009 19:49 mmmnovak | skóre: 8
Rozbalit Rozbalit vše Re: Debian - jak "zpozdit" proces vypínání PC

díky.

už jsem zase o něco chytřejší :-) ... už půjdu na to testování skriptu

Jakub Lucký avatar 19.8.2009 14:45 Jakub Lucký | skóre: 40 | Praha
Rozbalit Rozbalit vše Re: Debian - jak "zpozdit" proces vypínání PC
Odpovědět | | Sbalit | Link | Blokovat | Admin
Co takhle upravit /etc/init.d/halt, aby kontroloval zda virtuální stroje běží...
If you understand, things are just as they are; if you do not understand, things are just as they are.
19.8.2009 16:53 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Debian - jak "zpozdit" proces vypínání PC
Možná než to by bylo lepší vytvořit vlastní init skript a ten při vypínání spustit před halt (kdyby se náhodou halt jako takové měnilo v distribuci, aby nebylo potřeba změny složitě upravovat ručně)

A možná by neškodilo pustit ho ještě před ostatními, nejenom před haltem
Quando omni flunkus moritati

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.