Portál AbcLinuxu, 10. května 2025 07:10

Dotaz: Nezavisle procesy

27.5.2013 13:03 jenom_ja
Nezavisle procesy
Přečteno: 275×
Odpovědět | Admin

Zdravim,

mam problem spustit nezavisle procesy. Urcite poznate, ked zo shellu spustite napr. Firefox a ten len otvori novy tab. Tak toto by som chcel eliminovat, aj ked nie u Firefoxu, ale u ineho programu, ktory nepodporuje parametre, ktore by umoznili spustit sa nezavisle.

O nejaku dalsiu izolaciu mi nejde, problemy so zdielanim prostriedkov su vyriesene trivialne - 2 kopiami programu. Idealne by som chcel nieco, co nebude treba udrzovat (teda asi nie chroot).

Nasiel som cgroups, tam ns. To ale v Ubuntu nefunguje - v /proc/cgroups nie je spominane ns, preto sa to neprimountuje a nefunguje ani cgcreate s controllerom ns. Konkretnu mount direktivu neviem - z Ubuntu skriptov mam nefunkcne

$ sudo mount -n -t cgroup -o ns cgroup /sys/fs/cgroup/ns
mount: special device cgroup does not exist

Neviete, ako na to? Ide mi teda bud o riesenie problemov s cgroups alebo o nejake ine, idealne bezudrzbove, riesenie.

Dakujem

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

Odpovědi

27.5.2013 13:18 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Nezavisle procesy
Odpovědět | | Sbalit | Link | Blokovat | Admin
O nejaku dalsiu izolaciu mi nejde, problemy so zdielanim prostriedkov su vyriesene trivialne - 2 kopiami programu.

To ani zdaleka nemusí znamenat, že jste něco vyřešil. Ten program může využívat nějaké systémové zdroje, u kterých potřebuje exkluzivitu, nebo třeba i jen své vlastní pomocné soubory, u kterých neočekává, že by mu na ně někdo sahal. Obecně nějakou izolaci nebo virtualizaci potřebovat budete, ale jakou, to záleží na konkrétní aplikaci.

27.5.2013 16:36 jenom_ja
Rozbalit Rozbalit vše Re: Nezavisle procesy

Tak 1 cast riesenia (cgroups) som uz pisal - ma to akurat tu nevyhodu, ze to nefunguje alebo to mozno neviem obsluhovat.

27.5.2013 16:40 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Nezavisle procesy
To podstatné, co jste si měl vzít z mé odpovědi, je, že bez znalosti toho, co chcete řešit, tj. proč ten program potřebuje běžet jen v jedné instanci a jak to kontroluje, nemá smysl se ptát jak.
28.5.2013 00:10 jenom_ja
Rozbalit Rozbalit vše Re: Nezavisle procesy

"Proc?" To neviem - myslim si, ze je to ochrana pred blbostou uzivatela, ktory klika na ikonku, dokedy to nezacne fungovat a potom sa rozculuje, ze mu tlaciaren tlaci vzdy 10-15 kopii a na zatvaranie programu je treba kliknut na krizik 10-15 krat. Kontrola - predpokladam citanie zoznamu procesov; ine pravdepodobne moznosti som vyvratil nizsie.

rADOn avatar 27.5.2013 14:04 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: Nezavisle procesy
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nezávislé procesy jsou normální stav. Pokud se nějaký program chová jinak, jako například ten firefox, tak to ten program dělá záměrně a asi k tomu je nějaký důvod. Pokud nechceš udělat 100% oddělený prostředí – tedy virtualizovat – tak musíš vědět co přesně ten program sdílí/zamyká a podle toho se dá něco vymyslet.

Ergo pokud neprozradíš o jaký program jde tak ti nikdo nic moc neporadí.
"2^24 comments ought to be enough for anyone" -- CmdrTaco
27.5.2013 16:33 jenom_ja
Rozbalit Rozbalit vše Re: Nezavisle procesy

Je to hra pod Wine; vo Windowse funguje Sandboxie, tak tu by mohli fungovat aspon rozne WINEPREFIXy - ale hra zisti svoju inu instanciu.

Konkretne som to nechcel pisat, lebo som chcel pocut (pokial mozno) univerzalnu odpoved pre lubovolny program na Linuxe, kde by sa konflikty "jednoducho skusili" na zaklade strace - tj. nie nieco ako "edituj si exe na offsete 0xABCDh na 0A a pojde ti to".

27.5.2013 18:40 Franta
Rozbalit Rozbalit vše Re: Nezavisle procesy
Univerzální odpověď neexistuje – nemůžeš to vyřešit obecně, aniž by nehrozilo, že rozbiješ něco jiného. Musíš vědět, co aplikace ke kontrole „exkluzivity“ používá – může to být soubor, port, může se připojovat na nějaký server, může kontrolovat ostatní běžící procesy…

A i když na to přijdeš a odstraníš ten zámek, pravděpodobně jsi neodstranil důvod, proč ta aplikace chtěla běžet jen v jedné instanci (může si pak třeba přepisovat soubory).
28.5.2013 00:05 jenom_ja
Rozbalit Rozbalit vše Re: Nezavisle procesy

Asi mas pravdu; ja som predpokladal kontrolu ostatnych beziacich procesov - tvrdy kill jej nerobi problemy, takze subor to snad nebude; viacnasobne spustenie v Sandboxie pod Windows funguje, takze by to nemal byt port a ani pripajanie sa na servre (Sandboxie funguje bez zmien portov / ciest a aj bez kopii).

Mas pravdu ohladne toho, ze odstranenie tejto kontroly mi nedava dalsiu zaruku - ale podla mna tu islo o to, aby to zbytocne pri spustani nezralo systemove prostriedky. Nie je to nieco, co by muselo bezat + je to len pre moju osobnu potrebu, takze by to z mojho pohladu skoncilo prinajhorsom na "skusil som, neslo" alebo mozno aj na "skusil som, po 1/2 roku sa poskodili data, pocital som s tym, trochu to islo"

27.5.2013 22:35 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: Nezavisle procesy
Ve skutečnosti bych to viděl spíše obráceně. S jistou nadsázkou by se dalo říci, že každá aplikace je (nebo v počátcích byla) v základu naprogramovaná tak, že očekává, že bude běžet exkluzivně, ale nehlídá to a když se spustí víckrát, tak možná havaruje. A následně se zjišťuje, buď, co je potřeba uhlídat, aby mohla běžet ve více instancích současně, nebo, když paralelní běh není možný či žádoucí, tak jak si exkluzivitu zajistit.

A lámat komplexnější aplikaci, u které přesně nevím s jakými soubory pracuje a jak, a která nějak blokuje exkluzivitu jinak než virtualizací je hodně divné. Stačí jakýkoliv způsob kterým jedna instance něco zapíše a druhá přečte a může být zásadní problém. Třeba si jednoduše dokážu představit, jak aplikace používá nějaký soubor třeba jako stack (třeba na akce, výbavu), ve chvíli kdy se ho dotknou dvě instance rozpadne se informace oběma.
rADOn avatar 28.5.2013 17:10 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: Nezavisle procesy
Wine je divnej pták v tomhle – nejen že záleží jak si program exkluzivitu řeší sám, ale taky jak je to emulovaný. Kdysi jsem takhle pouštěl pod wine více instancí diabla2. Přehazování hraček mezi postavami, znáte to :-) Šlo to bez problémů, ačkoliv na wydlích to nelze. Dokonce jsem ani nenastavoval prefix. Stejně tak WoWko.
"2^24 comments ought to be enough for anyone" -- CmdrTaco

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.