Linux & aplikace na pozadí – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Linux & aplikace na pozadí – C / C++ – Fórum – Programujte.comLinux & aplikace na pozadí – C / C++ – Fórum – Programujte.com

 

yaqwsx+9
Posthunter
19. 2. 2011   #1
-
0
-

Nikdy jsem nedělal programy a vlastně nikdy jsem ani pořádně nedělal s Linuxem. Nyní však mám doma router Asus WL-500gP, na kterém běží Linix (nebo Unix, teď si nejsem jistý). Mám pro něj kompiler, dokonce jsem si už napsal pár jednoduch prográmů.
Chtěl bych totiž z tohoto routeru udělat centrum mé vlastní domácí meteorologické stanice. Momentálně jako centrum slouží stolní PC - sbírá údaje, ukládá je do databáze, ze které si pak generuji statistiky. Nyní bych chtěl sběr dat přesunout na router, který běží téměř pořád.
Moje představa je, že by na routeru běžela na pozadí má C aplikace, která by sbírala data. Na webserveru, který mi běží na routeru, bych pak měl PHP script, který by data z databáze četl a v nějaké podobě ukazoval.
Mám však problém s tím, jak mou aplikaci nechat běžet na pozadí. Nevím, jak zajistit to, aby když ji přes telnet spustím, tak se "minimalizovala" a běžela na pozadí, a já mohl s telnetem dál pracovat. Jak na to?

Předem děkuji za odpověď.

Nahlásit jako SPAM
IP: 85.160.72.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
crAzY^
~ Moderátor
+10
Grafoman
19. 2. 2011   #2
-
0
-

spouštěj ten program příkazem a nakonec přidej &

tvujprogram &

Nahlásit jako SPAM
IP: 89.190.90.–
All you need is vision and time.
yaqwsx+9
Posthunter
19. 2. 2011   #3
-
0
-

To crAzY^ : že to bude tak jednoduché jsem netušil. Díky

Nahlásit jako SPAM
IP: 85.160.72.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
asdf
~ Anonymní uživatel
26 příspěvků
19. 2. 2011   #4
-
0
-

aaa len tak btw ak nebudes mat ten program v /usr/bin/ alebo inej nadefinovanej ceste z kade ma brat programy tak treba bud ku menu programu uviest jeho absolutnu cestu, alebo ak si v zlozke s programom tak sa to spusti cez ./tvoj_program & (cize treba pridat ./ )

inac pekne vyuzitie routra :)

Nahlásit jako SPAM
IP: 178.41.105.–
Anonymní uživatel
~ Anonymní uživatel
0 příspěvků
19. 2. 2011   #5
-
0
-

To asdf : Na to se nikdo neptal.

Naopak asi přijde otázka, co s tím po odpojení :)

Nahlásit jako SPAM
IP: 213.211.51.–
crAzY^
~ Moderátor
+10
Grafoman
19. 2. 2011   #6
-
0
-

no, aby proces běžel po odhlášení, tak stačí napsat

nohup program &

Nahlásit jako SPAM
IP: 89.190.90.–
All you need is vision and time.
asdf
~ Anonymní uživatel
26 příspěvků
19. 2. 2011   #7
-
0
-

To asdf : Nikto? yaqwsx hovori ze na linuxe nerobil cize ak by to chcel spustit len tak program & tak by mu to samozrejme neslo.

Nahlásit jako SPAM
IP: 178.41.105.–
nervak0
Věrný člen
19. 2. 2011   #8
-
0
-

To asdf : Ano, nikdo!

Nahlásit jako SPAM
IP: 213.211.51.–
asdf
~ Anonymní uživatel
26 příspěvků
19. 2. 2011   #9
-
0
-

To nervak : ale niekto hej!

Nahlásit jako SPAM
IP: 178.41.105.–
yaqwsx+9
Posthunter
19. 2. 2011   #10
-
0
-

To asdf : Tak během té doby, co jsem router dával dohromady (instaloval webový server, řešil připojení externího disku, jehos sdílení, atd...) jsem na tady tyto věci přišel, respketive jsi je uvědomil (myslím tím tu cestu a ./) Každopádně díky za pochvalu využití routeru ;) Pokud vyjde meteostanice, tak s ním mám další velké plány.
To crAzY^ : Díky za upozornění na takový malý detail, který by mi později určitě působil problémy.

Nahlásit jako SPAM
IP: 85.160.127.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
yaqwsx+9
Posthunter
14. 4. 2011   #11
-
0
-

V poslední době mi toho do života celkem hodně naskákalo, a k tomuto "projektu" jsem se dostal až po měsíci. Bohužel mezitím sousedé, kteří bydlí nad námi, dělali koupelnu, a omylem kusem suti smetli mou malou meteostanici. Ta nepřežila. Takže ji momentálně obnovuji a vylepšuji. Zatím jsem se dostal pouze k anemometru.
K věci; rád bych se pochlubil mým výtvorem a obdržel na něj nějakou reakci (i když nevím jestli na to vůbec nějaká reakce obdržet jde). Výsledek si můžete prohlédnout na http://studiokamarad.ic.cz/anemometr/
Celý projekt (tedy bez samotného anemometru) byl spáchchán za víkend. Zatím není hotový, mám s ním další plány.
Nyní je veškeré měření realizováno následovně: přímo v anemometru je fotobrána, která snímá otáčky. Pomocí časovače generuji stejně dlouhé pulzy. Tyto "data" mám svedena na mikroprocesor PIC, který tvoří rozhraní mezi routerem a anemometrem. Data v routeru sbírá C program, který je následně ukládá do databáze a pravidelně synchronizuje se serverem. Webové rozhraní je klasické PHP + na straně klienta jQuery. Tento kód je zatím hodně "prasácký" - nedostalo se mu ještě estetické péče.
Největším problém v současnosti je nezkalibrovanost anemometru. Na stánkách je sice psáno "m/s", ale skutečnou jednotkou je 1/36 otáčky za sekundu. Bohužel nemám k dispozici žádný anemometr, který by mi pomohl ten můj zkaliborvat.
Dalším problémem je samotné umístění anemometru - bohužel s tím v bytě jen tak něco neudělám.
Dále mám v plánu meteostanici rozšířit o teploměr, vlhkoměr, tlakoměr a měřič sluneční intezity. Směr větru nemá díky umístění cenu měřit. Celé měření by také mělo doznat změny. Mikroprocesorovou část bych rád obohatil o vlastní zdroj napětí a EEPROM, do které by se data ukládala v době, kdy by router nebyl dostupný; tzn. měl bych data za 24/7, nehledě na to jestli router běží nebo ne. Plus bych chtěl rozšířit funkcionalitu stránek (např. odstraňovat skoková data) a dodat jejich kódu "estetičnot".

Nahlásit jako SPAM
IP: 85.160.64.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
petr
~ Anonymní uživatel
746 příspěvků
14. 4. 2011   #12
-
0
-

Sice pozdě, ale stejně to napíšu. Spouštění aplikace s & na konci není pro tohle úplně vhodné. V linuxu (ale i v dalších unixech) se takový program píše jako tzv. daemon http://en.wikipedia.org/wiki/Daemon_(computer_software). Pro domácí použití je to sice jedno, ale takhle se to běžně nedělá. Další možnost, pokud ten program nemusí běžet pořád, je nastavit si událost do cronu a pouštět to v pravidelném intervalu.

Jinak se mi ten celý systém dost líbí. Přijde mi to určitě zajímavější, než si koupit něco hotového. Kdybych měl víc času a nebyl jsem tak líný, tak si něco podobného ukutím taky :smile1:

Nahlásit jako SPAM
IP: 84.42.162.–
yaqwsx+9
Posthunter
16. 4. 2011   #13
-
0
-

To petr : To petr : Nakonec celé spouštění řeším přes cron - každých 5 minut spuštím skript, který testuje, zda-li moje aplikace beží. Pokud ne, tak ji spustí.

Nahlásit jako SPAM
IP: 85.160.86.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 14 hostů

Podobná vlákna

Aplikace na pozadí — založil davidus

Aplikace na pozadí — založil honzik.sikula

Úprava aplikace pro Linux — založil marpit

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý