Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Wine - script - Jede program?  (Přečteno 3249 krát)

tululum

  • Návštěvník
  • Příspěvků: 38
Wine - script - Jede program?
« kdy: 01 Února 2009, 18:55:48 »
Dobrý den,
potřeboval bych nějaký script, nebo program, kdterý kontroluje, zda jede aplikace spuštěná přes WINE.

Moje situace je následující:
Pouštím 2 herní servery, které mají serverový program pouze pro Win, takže musím používat WINE :(
Obě aplikace mají název procesu 'wineconsole' a název okna každého serveru je jiný (dejme tomu server1 a server2 - to je nadpis oken)
Potřebuju script, který asi každou minutu zkontroluje, zda obě aplikace jednou, pokud nejede nějaký z nich, execuje nějaký script, kde  je postup co má udělat. (script se dejme tomu nachází v /home/user/Plocha/script.sh)

Neví někdo, jak to vyřešit? Server spadne asi 3x denně a když jsem mimo PC celý den (výkend..) tak ho nemůžu nahodit.. :(

Pomůže mi prosím někdo? Zatím mě toto fórum nikdy nezklamalo, snad ani tentokrát ;) :)

premet

  • Host
Re: Wine - script - Jede program?
« Odpověď #1 kdy: 01 Února 2009, 20:29:53 »
Mě třeba napadá testovat to skriptem v Cronu, který by obsahoval něco takovýho
 
Kód: [Vybrat]
#!/bin/bash

nazev_procesu=`pidof nazev_procesu`

if [ $nazev_procesu != "" ]; then
   echo "Běží"
else
   echo "Neběží"
   spustit_skript_blabla
fi

premet

  • Host
Re: Wine - script - Jede program?
« Odpověď #2 kdy: 01 Února 2009, 20:45:32 »
Ale nenapadá mě jak vyřešit to, že jsou dva, protože takhle by to fungovalo jen pro jeden. Jedině napsat skript, jako spouštěče pro každý z nich zvlášt, kdy se budou neopakovaně spouštět, prostě cyklus, který ukončí jen uživatel třeba.

kkaarreell

  • Stálý člen
  • **
  • Příspěvků: 1072
Re: Wine - script - Jede program?
« Odpověď #3 kdy: 01 Února 2009, 21:32:34 »
daji se ty dve aplikace rozlisit ve vypisu  "ps -ef" ?

tululum

  • Návštěvník
  • Příspěvků: 38
Re: Wine - script - Jede program?
« Odpověď #4 kdy: 01 Února 2009, 21:42:59 »
Tohle je vypis:
Kód: [Vybrat]
benak     6316 25515 62 15:09 pts/1    03:56:42 srcds.exe -console -game gar #Tady by to melo pokracovat dalsimi 30 spoustecimi prikazy, ty jsou u obou serveru jine)
benak     6321     1  0 15:09 ?        00:02:02 wineconsole --use-event=188
benak     6921 25811 16 20:05 pts/4    00:14:04 srcds.exe -console -game gar
benak     6926     1  0 20:05 ?        00:00:33 wineconsole --use-event=188

benak = user acccount
srcds.exe = exe soubor kterej emuluju pres WINE (SouRCe Dedicated Server)

kkaarreell

  • Stálý člen
  • **
  • Příspěvků: 1072
Re: Wine - script - Jede program?
« Odpověď #5 kdy: 02 Února 2009, 09:32:34 »
hm, beru to tak, ze nedaji  :)

napadla me jeste jedna vec.. co si na to spousteni vyrobit dva skripty. kazdy z nich bude vypadat napr.
Kód: [Vybrat]
touch /tmp/server1.running   # vytvorime soubor znamenajici, ze server1 bezi
wine ....    # spustim server 1
rm /tmp/server1.running   # smazeme soubor, cimz dame najevo, ze server1 uz nebezi

status obou serveru pak muzes testovat podle toho, zda existuji prislusne soubory
« Poslední změna: 02 Února 2009, 09:35:24 od kkaarreell »

tululum

  • Návštěvník
  • Příspěvků: 38
Re: Wine - script - Jede program?
« Odpověď #6 kdy: 02 Února 2009, 09:41:44 »
Jsem celkem mladej (16 let) a programovat umim pouze primerene v Pythonu a Pascalu.
Takze bych prosil jeste malinko vic informaci, napriklad script, ktery bude kontrolovat, zda dany soubor existuje (ten script, co jste postnul chapu a dekuju za nej ;) )
« Poslední změna: 02 Února 2009, 09:46:00 od tululum »

kkaarreell

  • Stálý člen
  • **
  • Příspěvků: 1072
Re: Wine - script - Jede program?
« Odpověď #7 kdy: 02 Února 2009, 11:02:34 »
no dobre. proste si udelej dve kopie nasledujiciho skriptu a uprav si je podle svych pozadavku

Kód: [Vybrat]
#!/bin/bash

# nastavime display
export DISPLAY=":0.0"

# otestujeme (ne)pritomnost souboru /tmp/server1.running
if ! [ -e /tmp/server1.running ]; then
  # server nebezi (soubor neexistuje), spustime jej
  touch /tmp/server1.running   # vytvorime kontrolni soubor
  wine ....    # spustime server, tohle si uprav
  rm /tmp/server1.running     # po ukonceni/spadnuti serveru smazeme kontrolni soubor
fi

jak jsem rekl, ty skripty si udelej dva, pro kazdej server 1 a spoustej je z cronu treba co 5 minut
jinak koukni na vybornej serial o bashi, konkretne 11. dil obsahuje to, co jsem tu psal
http://www.linuxexpres.cz/praxe/bash-11-dil
« Poslední změna: 02 Února 2009, 21:59:13 od kkaarreell »

tululum

  • Návštěvník
  • Příspěvků: 38
Re: Wine - script - Jede program?
« Odpověď #8 kdy: 02 Února 2009, 12:18:55 »
Diky, serial neni moc treba, logiku programování umím a příkazy vychází z angličtiny, takže si je zvládnu logicky odvodit :) ;) Každopádně díky za pomoc!

kkaarreell

  • Stálý člen
  • **
  • Příspěvků: 1072
Re: Wine - script - Jede program?
« Odpověď #9 kdy: 02 Února 2009, 13:42:48 »
Diky, serial neni moc treba, logiku programování umím a příkazy vychází z angličtiny, takže si je zvládnu logicky odvodit :) ;)
tak to se teda divim, ze sis to sam nenapsal ;)
ne, vazne, neslo mi o vyznam it-then-else, ale o ruzne typy podminek, zpracovavani vystupu apod. V bashi toho jde udelat celkem dost, jenze dokud si ten serial neprectes, tak poradne nepochopis, co mam na mysli (a o co prichazis).

tululum

  • Návštěvník
  • Příspěvků: 38
Re: Wine - script - Jede program?
« Odpověď #10 kdy: 02 Února 2009, 15:17:09 »
Jo, asi si to prectu, ptz nikdy nevim, co budu muset zase jeste udelat ;) takze diky!

Navic jsem ted zjistil, ze to nefunguje.

Moje crontab:
5,10,15,20,25,30,35,40,45,50,55 * * * * /home/benak/Plocha/srvrs/server1.sh
5,10,15,20,25,30,35,40,45,50,55 * * * * /home/benak/Plocha/srvrs/server2.sh
5,10,15,20,25,30,35,40,45,50,55 * * * * /home/benak/Plocha/srvrs/server3.sh

Crontab je OK, kazdych 5 minut pusti scripty, ktere vytvori soubory se slozce tmp ale ty se zase hned samy smazou a servery se nezapnou..

Kdyz script spustim rucne prikazem /home/benak/Plocha/srvrs/server3.sh vse probehne UPLNE OK! (vytvori se soubor, server se spusti, jakmile server vypnu, soubor se smaze)

Proste i CRONe i script zvlast funguji, ale v kombinaci spolu ne.. :(

(btw: nevim jestli se nekde uklada log, takze ho sem nemuzu postanout)
(poznamka: chmod je nastaven OK)
Nevi nekdo prosim cim by to mohlo byt? Ja nejsem tavkovy odbornik abych na to prisel..
« Poslední změna: 02 Února 2009, 16:09:32 od tululum »

kkaarreell

  • Stálý člen
  • **
  • Příspěvků: 1072
Re: Wine - script - Jede program?
« Odpověď #11 kdy: 02 Února 2009, 21:58:50 »
ted si uvedomuju, ze jsi vlastne psal, ze to spousti okna.. asi bude problem v promenne DISPLAY. Dopln do tech skriptu radek
Kód: [Vybrat]
export DISPLAY=":0.0"jak jsem to dopsal do toho prispevku nahore.

btw, spousteni co 5 minut se da zapsat jako */5, nemusis tak vypisovat celou tu radu 5,10,15,... (navic v tom svym zapisu mas takhle 10 minut pauzu ;) )
« Poslední změna: 02 Února 2009, 22:02:01 od kkaarreell »

tululum

  • Návštěvník
  • Příspěvků: 38
Re: Wine - script - Jede program?
« Odpověď #12 kdy: 02 Února 2009, 22:16:56 »
jj diky! To sem vedel, ale radsi sem t pro jistotu vypsal ;)
btw: to byl jen ukazkovy zapis, ptz prikazem "crontab -e" se dostanu do editoru, ktery probiha v konzoli, neda se z nej kopirovat, takze jsem to musel cele rucne prepsat a tu nulu jsem tam nejak vypustil.. :) V opravovem cronu tam tu chybu nemam :) Kazdopadne diky za pomoc, nyni vse dokonale funguje ;) Diky!

Btw: vim, ze server sem tam nejen ze proste spadne a vypne se, ale hodi chybu. Vlastne hodi nove okno, kde je jista chyba a tlacitko "OK". Problem je, ze server se nevypne a tudiz se nesmaze soubor a script si bude myslet, ze server bezi, ten je pritom mrtvy s chybovou hlaskou (ktera jakmile se odklepne, aplikace serveru se vypne). Tento problém budu muset ještě vyřešit, ovšem zatím nemám ani název procesu jakým se pojmenuje to okno, takže to zatím nemůžu nijak řešit. :( takže asi brzo tento topic zase oživím.. :( Ale každopádně díky za pomoc!

Martin Kiklhorn

  • Člen občanského sdružení Ubuntu ČR a placené komunitní podpory
  • Administrátor fóra
  • Závislák
  • ******
  • Příspěvků: 4807
  • グーグル!ご存知ですか?
    • HEJ
Re: Wine - script - Jede program?
« Odpověď #13 kdy: 03 Února 2009, 06:39:32 »
ptal bych se správce oken na název okna které má fokus
Jsou ve vašem dotazu OPRAVDU VŠECHNY vám dostupné informace o problému?
Linux user since 2007-10-11, Registered #456007
Virtual
| Distribuce
~/slozka znamená /home/"vase jmeno"/slozka
6521 69DE 0F34 FCBC FB1D  DE76 360E 52B2 F71A B8E8

tululum

  • Návštěvník
  • Příspěvků: 38
Re: Wine - script - Jede program?
« Odpověď #14 kdy: 03 Února 2009, 07:28:53 »
:D ok, a to znamená? :D V linuxu moc chodit neumím ;) )myslím že si pod tím dokážu něco představit, ale neznám příkaz, takže to nemůžu aplikovat)

 

Provoz zaštiťuje spolek OpenAlt.