A multkori systemd vs init.d/rc.d flame margójára

Az lehet, hogy te tudod, hogy mi történik a rendszereden...

...de vajon a rendszer is tud arról, hogy mi történik a rendszerben?

root@mars:/etc/slony1# /etc/init.d/pgagent start
Starting pgagent service: MAR fut
root@mars:/etc/slony1# ps aux | grep pgagent
root     27199  0.0  0.0   7544   852 pts/8    S+   18:41   0:00 grep pgagent

Hozzászólások

Nincs vele bajom, csak arra céloztam, hogy szerintem az SMF kellően szofisztikált és megbízható. Való igaz, kell hozzá XML, de cserébe azt ki tudja néhány, e célra kitalált céleszköz generálni. Persze nem fog Linuxon menni, de például egy SNGL zóna megfelelő "átszoktató környezet" lehetne.

Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn

Juj, XML! Halál és pusztulat!

XML-t pont, hogy arra találták ki, hogy ember által is olvasható legyen :)

Egyébként meg lehetne akármiben is a konfig fájl, ha nem lenne mindenki lusta hozzá eszközt fejleszteni. Most kezdtem el ismerkedni a Slony-I-al, tapasztalat az, hogy a slonik-ban max a cluster inicializálását érdemes megejteni, utána minden egyéb 1000x kényelmesebben összekattintgatható a PgAdmin-ban.

----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™

Amikor eléd borítanak 1234 darab xml-fájlt, hogy nézd át, hogy minden úgy van-e bekonfigurálva, ahogy az a nagykönyvben és a különböző szabályzatokban írva vagyon, akkor eléggé broáf tud lenni az xml olvasgatása...

Az SMF-es xml-ekhez képest a sendmail.cf is prímán érthető, olvasmányos konfigfájl... Vagy ha nem, legalább rövid, tömör, és áttekinthető :-P

Egyébként csak félig szántam poénnak.
Pythonnak van XML parsere, amivel viszonylag könnyen és gyorsan lehet feldolgozó programot írni konfig fájlok ellenőrzésére. (gondolom, a legtöbb elterjedt szkrtipt nyelvben van ilyen)

Aki tudja, csinálja, aki nem tudja, tanítja... Hm... igazgatónak talán még jó lennék. :)

Persze, van, és pusztuljon is el, aki kitalálta az XML-t.
A sok hülye developer - tisztelet a kivételnek -, amióta van XML, azóta csak azt képes használni - tipikusan: kalapács a kézben vs. minden szög esete Tóth Marival.
Azt, hogy esetleg sortörést is kéne beletenni, meg tagolni, minek? Lósz@rt, elfér az XML egy sorban is. 15k karakter lesz egy sorban? Ki nem sz*rja le, a parser elolvassa. Csak, ha szemmel kell belenézni, akkor lehet qrvaanyázni miatta.
És aki meg szerver-kliens kommunikációra is XML-t használ, annak azt kívánom, hogy Ugandából EDGE-n használja Magyar előfizetéssel a privát mobilján az összes ilyen appot.
--
PtY - www.onlinedemo.hu

Ha "szemmel" kell belenézni, akkor végső esetben fogsz egy browsert és megnyitod azzal. :)
Ha valahol szintaktikai hiba van benne, még azt is megmondja.
Egyébként is ezt gépi olvasásra-értelmezésre találták ki, nem humán szemek számára.
Hogy van lehetőséged belenézni akár egy vi segítségével, az csak egy plusz mondjuk a windows registry-hez vagy egy sqlite adatbázishoz képest.

Megjegyzem, pl. az IBM MQSeries tudtommal az összes üzenetet XML formátumba csomagolva küldözgeti. Bár már rég láttam olyat és akkor is csak rövid ideig.

Aki tudja, csinálja, aki nem tudja, tanítja... Hm... igazgatónak talán még jó lennék. :)

Ez már tipikusan a "keressünk valami jó kifogást!" kategória, ugye te is érzed.
Nagyon nehezen tudok elképzelni olyan munkahelyet, ahol nincs lehetőséged valami GUI-n keresztül hozzáférni bármely konfig fájlhoz, ha nagyon muszáj.
És mondd: hányszor kellett vi-jal matatnod XML konfigokban??

Aki tudja, csinálja, aki nem tudja, tanítja... Hm... igazgatónak talán még jó lennék. :)

Ha elszeparált a rendszer, ahová teszem azt csak ssh proxy-n tudsz bemenni, és le van tiltva a remote x-től kezdve a a fájlátvitelen át még a tunneling is, akkor megnézném, hogyan editálod ilyen csodatoolokkal.
Van a közelben windows szerver igen, arra is rá lehet menni, de ott sem tehetsz mindent, még putty-t sem telepíthetsz.
Hidd el, létezik ilyen hely, és a legutolsó gondolatod lenne az, hogy parsert/editort írj a feladatra.
--
PtY - www.onlinedemo.hu

"Hidd el, létezik ilyen hely, és a legutolsó gondolatod lenne az, hogy parsert/editort írj a feladatra."

És akkor el is jutunk a probléma gyökeréhez: mi a tökömért tart még mindig ott minden, hogy szerkessz meg egy config file-t? Miért olyan nehéz normális eszközöket fejleszteni az adminisztrálásra?

----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™

Mert parsert kell rá írni :D
Holott, ami az "=" előtt van, azt nagybetűssé kell tenni, és azt használni hash-tag-nek, az = utánit meg beszórni értéknek, és már múkodik is.
Tudom, szar perl, és C#-ban nehéz leprogramozni, XML-re viszont van api, ezért XML a kúl.
Pedig broaf.
--
PtY - www.onlinedemo.hu

Aztán mit csinálsz, ha nincs =? Mi van, ha azonos tag van? Mi van, ha valaki kínai karaktert ír be? Mi van, ha többsoros szöveg kell? Mi van, ha egy modul további beállításokat igényel attól függően, hogy egy másik van-e? Mit kezdesz, ha olyan sort találsz, amiben több = is van? Mi van, ha egy kulcson olyan értékpárt kell tárolnod, ami további kulcs-érték párok halmaza?

Tök szépen hangzik, hogy ez így milyen faék egyszerű, de a valóság ennél komplikáltabb szokott lenni.

----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™

Struktúra kialakítására nem csak a "kisebb foo nagyobb lényeges_rész_ami_lehet_rekurzív kisebb per foo nagyobb" megoldás létezik - szószátyárabb, szemmel követhetetlenebb viszont nem nagyon van.
Az, hogy mit csinálok, ha nem felel meg a fájl valamelyik sora annak a követelménynek, hogy legyen benne egy és csak egy "="? Például azt a sort eldobom. Egy xls-parser mit csinál akkor, ha hiányzik valahonnan egy lezáró tag, ami nélkül persze értelmes maradhat a fájl az egymásba ágyazásokból adódóan kitalálható, hogy hol a hiba)?
Azonos tag? És? Az adott paraméter nem egy értékű, hanem tömb/lista/hash lesz és kész.
(pl. hashparameter=foo:bar; hashparameter=moo:bar1; de akár hashparameter=foo:bar,moo:bar1; sem gond)
A nemzeti/több bájtos karakterekkel elég régóta nincs probléma, a parser dolga, hogy értelmezze amit kap.
A több soros szöveggel sincs gond - ha az érték például idézőjellel kezdődik, akkor a következő nem escape-elt idézőjelig tart, nem pedig az első \n -ig.
A feltételes paraméterezés dolga sem kunszt: legyen ott normál módon, aztán ha az általad említett másik modul nincs jelen, akkor szimplán figyelmen kívül lehet hagyni, ha meg ott a másik modul, akkor használja.

Es szepen-lassan eljutunk oda, hogy egyre csak bonyolódik meg bonyolódik. Aztán, ha felvetődik az igény, hogy ne csak X nyelven lehessen ezt olvasni, hanem Y nyelven is, mert valaki akar mondjuk központi menedzsmentet kiépíteni hozza, akkor lehet kezdeni előről az implementalast.

Es a kérdés tovabbra is adott: miert az a csúcsa egyeseknek meg mindig, hogy egy config fájlt szerkesztgetnek?

----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™

Meglep, ha azt mondom, hogy a .ini formátumra is vannak nagyon príma parserek? nem csak írni kell a konfigot, hanem olvasni is, megnézni, hogy mi a fene van beállítva, auditálni a beállításokat, azt meg nem biztos, hogy az alkalmazásból a legegyszerűbb, vagy hogy egyáltalán kivitelezhető vele a dolog.

Még szerencse - fölösleges lommal nem kell foglalkozni, n bájtnyi _érdemi_ információhoz nem kell n*sok bájtnyi ballasztot cipelni.
Minek kéne külön leíró formátum arra, hogy minek kell, mi lehet benne a beállítások között, milyen struktúrában kell azokat elhelyezni?
Az app tudja, majd felnyalja, megcsócsálja, és tudni fogja, hogy a foo=bar az annyit jelent, hogy. Az xml-fétis ezen a téren olyan, mint anno a sendmail.cf volt - készült hozzá egy makrónyelv, hogy natív sendmail.cf -et lehessen generálni, mert kevés épeszű ember volt, aki natívan írta/olvasta volna.
Ugyanez az xml is - itt írni még csak-csak, de ránézésre értelmezni és megérteni, felfogni, hogy mi van benne, na az szintén kevés épeszű embernek megy :-)

Nem feltétlenül. Ugyanis ahhoz, hogy konzolon mindenféle toolok nélkül szövegszerkesztővel elvégezzen valaki egy konfigolást, nem kell ismerni az XML-t. Elég egy rossz karakter rossz helyen, ami a szemnek nem, de az XML struktúrának fáj.
És igen, nagyon jó példa az SQL. Konzolon egyszem rohadt parancssorral nagyon jól el lehet boldogulni az SQL-lel, és elég ismerni a nyelvet, és igen, itt is lehet kárt okozni aka PEBKAC.
Az XML-hez ellenben nincs megfelelő tool, ha csak parancssorod van. Szövegszerkesztő akad, ez igaz, csak nehéz vele átlátni egy szép nagy xml strukturát, még akkor is, ha az ember ismeri az xml-t.

És sokadszorra hangsúlyozom - bár ez mindenkinek elkerüli a figyelmét -, nem az xml-lel, mint eszközzel van a baj. Avval van baj, hogy sokan mindenre ezt használják, arra is, amire nem kéne, pusztán azért, mert attól van orgazmusuk. Ez a hozzáállás kifejezetten káros.

Már eddig is akartam írni a párhuzamot egy másik threadben folyó vitával kapcsolatban: pont olyan, mintha valaki minden problémát C-ben akar megoldani, holott egyes dolgokra van sokkal alkalmasabb, kézenfekvő eszköz - akár shellscript, akár perl, akár php, vagy más.
--
PtY - www.onlinedemo.hu

Megnevezést ne kérj, de van rá tool, csak mondjuk egy minimal telepítésű debian biztosan nem tartalmazza.
De volt már a kezemben olyan eszköz, ami ellenőrizte az XML-t szintaktikailag.

Aki tudja, csinálja, aki nem tudja, tanítja... Hm... igazgatónak talán még jó lennék. :)

Nem szerkeszteni, kifejezetten syntax check.
Magyarán, ha nem megfelelő eszközzel túrtál bele és elrontottál valamit, akkor képes jelezni.

Ahogy más is írta: azért többszáz K-s XML-t nem vi-ban szerkesztünk, ha nem muszáj. Ha meg muszáj, akkor úgysincs mit tenni. :)

Aki tudja, csinálja, aki nem tudja, tanítja... Hm... igazgatónak talán még jó lennék. :)

Valahol talán említettem egy extrém példát: benne van valahol az adatbázis kapcsolódáshoz használt paraméter és ez ideiglenesen, hiba miatt változik, gyorsan át kell írni.
Én nem szaroznék, ha ilyen esetben kézzel kell beletúrni a konfigba, feltéve, hogy tudom, hova és mit írjak.

Aki tudja, csinálja, aki nem tudja, tanítja... Hm... igazgatónak talán még jó lennék. :)

Persze. Ha van olyan, ha nem igényel épp elérhetetlen GUI-t stb. :)
Mert ha jól emlékszem, mindez úgy kezdődött, hogy mi van, ha olyan környezetben turkálsz, ahol csak egy vi áll rendelkezésedre.

Aki tudja, csinálja, aki nem tudja, tanítja... Hm... igazgatónak talán még jó lennék. :)

Nézegettem, de egy foo=bar xml-ben legalább a duplája, ha semmi struktúra csak <foo>bar</foo> sorokról van szó. Ha ennél szofisztikáltabb a dolog, akkor 60-70%-ra felmegy a "ballaszt", ami nagyon sok.
Ha csak javítani kell egy-két paramétert, akkor nagyjából mindegy lehet, hogy xml vagy sem - tetszőleges editor elboldogul azzal, hogy megkeresse a megfelelő paramétert, illetve értéket - ha a struktúrát is kell módosítani/bővíteni, mert pl. egy fájlszerveren új megosztást csinálsz, akkor már picit neccesebb az xml-es dolog, hiszen az emberi szem és agy nem xml-tag alapon bont részekre szöveget, hanem sorok és bekezdések alapján, és ezeket tudja "egyben" logikus egységként kezelni.
Egy új share beillesztésénél tehát meg kell keresni, hogy hova kerülhet, célszerűen előtte külön el kell készíteni a beállításokat tartalmazó xml-fájlt (sallangok nélkül, csak azt, amit be kell kopipasztázni a "nagy" konfigfájlba), a megfelelő helyre beszúrni, validálni az így összerakott xml-t szoftverrel (mert szemmel nem fog menni), aztán ha nem lett jó, akkor goto 10...

Na most a fájlmegosztásokról annyit, hogy pl. a Windows fájlmegosztását nemhogy XML-ben nem konfigolnám, hanem sima property cuccban sem, főleg, mikor jogosultságokat is kell már szerkeszteni. Igen, van annak az UI-nak is bőven hibája, de még mindig egyszerűbb, mint konfig fájlokat heggeszteni egy-egy összetettebb jogosultság-beállításnál.

----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™

En meg az smb.conf -tol is fazok neha.

Alapvetoen megertem saxus erveit, meg ha nem is teljesen ertek veluk egyet. A sambahoz pl. nagyon jo lenne egy olyan cucc, amivel csak addolni tudnek egy megosztast (smb-add-share hup /srv/samba/hup --ro --nobrowse && smb-add-permission zeller write). Much more simple.
--

Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. 

Mondjuk a céleszköz a munkahelyi gépre van telepítve, az ügyeletest, meg hajnali kettőkor ugrasztják ki az ágyból, hogy akkor most SOS... ;)
(én - igaz, ez már történelmi időnek számít - jártam úgy, hogy be kellett taxiznom, mert valami GUI-s hulladék kellett, nekem meg csak egy modemes, terminálos bejelentkezésem volt)

Aki tudja, csinálja, aki nem tudja, tanítja... Hm... igazgatónak talán még jó lennék. :)

" munkahelyi gépre van telepítve, az ügyeletest, meg hajnali kettőkor ugrasztják ki az ágyból, hogy akkor most SOS..."

Ha az ugyeletes van olyan idiota, hogy tudvan tudja, hogy kiugraszthatjak az agybol hajnali kettokor, megsem telepiti fel a celeszkozt az otthoni gepere, akkor megerdemli a Taigetosz-pozitiv jelzot.
--

Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. 

Te figyelj, itt most arrol van szo, hogy alapveto eszkozok hianyoznak. Igen, lattam mar olyan rendszergazdat, aki meltatlankodott azon, hogy hogy lehet az, hogy valami random virtualizacios cuccnak telepitendo kliense van, mi van ha holnap nem is az lesz a gepe (es egyeb random bullshitek), stb. stb. stb.

Hat bocs, a munkaeszkozok legyenek felrakva. Ha nincsenek, az trehanysag vagy szarul felepitett rendszer. Hogy nem varja el tolem senki, hogy C# fordito vagy PHP interpreter nelkul dolgozzak?

----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™

Vagy hardverkulccsal védett szar, amire a cég sajnált plusz egy licencet megvásárolni vagy...
Bocs, nem részletezném saját, munkahelyi élményeimet, mennyi minden közbejöhet egy-egy éjszakai ügyelet alatt...

Aki tudja, csinálja, aki nem tudja, tanítja... Hm... igazgatónak talán még jó lennék. :)

Acsi. Ahol nagyon komoly biztonsagi policy van, ott tobbsegeben nem otthonrol tortenik az ugyelet (tekintve, hogy jo esetben semmilyen lehetoseg nincs kivulrol a beavatkozasra), hanem van egy rendes ugyeleti rendszer, es mindig van valaki az irodaban. Itt es most arrol volt szo, hogy az ugyeletes OTTHON van. Gondold ujra a kommentedet.
--

Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. 

Hazaviszi a nótost, ez nem gond. De ha van olyan policy, aminél pl. csak egy terminálszervert érhet el távolról, és mondjuk egy IP-konzolon kell matatnia egy grafikus felületű raid-bios-t, hát arra megnézném, hogy mit teszel... Elég, ha a terminálszerverre per cégpolicy nincs felpakolva X-szerver, máris szívás van a bent működő ssh -X... dolgokkal. Tudom, erre is lehet perverz workaround-ot adni, mert az rdp session-ben oda tudok adni helyi diszket a terminálszervernek, de... :-P

"az rdp session-ben oda tudok adni helyi diszket a terminálszervernek..."
Amit le is lehet tiltani, ahogyan a clipboardot is, meg az SSH-ban a tunnelt, fájlátvitelt, X-et, stb. És van, ahol meg is teszik, és van, ahol felvétel is készül arról, hogy az ügyeletes pontosan mit is csinál, és mikortól és meddig.
A belépés meg lieberman-on keresztül lehetséges, így a lokális jelszavakat sem ismered, nincs gépről-gépre ugrabugrálás.
De valójában olyan emberekkel vitatkozunk erről, akik még nem üzemeltettek komoly biztonsági policy mellett.
--
PtY - www.onlinedemo.hu

Fel sem merül Benned, hogy vannak olyan helyzetek, amikor nem az a fő szempont, hogy a nyomoronc mérnöknek mi a jó, hanem az, hogy az ügyfél biztonsági szabályzata mit enged?
Tudod mit? Ha valaha találkozol ilyen igénnyel ügyfél részéről, küldd el őket a bús pics*ba jó hangosan, hogy mindenki hallja. Biztosan sírva adnak igazat Neked, és könyörögni fognak az életükért.
--
PtY - www.onlinedemo.hu

Valós példa:
Forgalmaztunk egy PC alapú appliance-t - a funkciója igazából mindegy, webes felületen lehet elérni a hálózaton, de ehhez csak a helyi IT-nek van elérése. A support távolról csak az OS-hez fér hozzá, ahhoz is úgy, hogy a management networkben van egy terminalszerver (tipikusan XP), amin nincs internetelérés, a külvilággal minden kapcsolat zárt (clipboard és erőforrásmegosztás le van tiltva, mezei user elérés van). Egyetlen böngésző az, amit futtathatsz, ezen keresztül éred el a szállított appliance ILO interface-én a szöveges konzolt egy java appon át. Hozzáférsz az OS-hez, a konfigokhoz és a logokhoz. Ez az esetek 99%-ában elegendő a munka elvégzéséhez.
Minden tevékenységedet naplózzák, video-n bármikor visszanézheti a helyi IT biztonság.
Ez konkrétan egy pénzügyi cég, ahol nem csak a személyes adatokat védik, de találhatunk olyan cégeket is, ahol terveket, gyártási technológiákat védenek, és van megfelelő policy az adatszivárgás ellen, ami sok esetben nem csak a megakadályozásig terjed, hanem a visszakereshetőség és számonkérhetőség is cél.
--
PtY - www.onlinedemo.hu

Ha egy program nem mellékel minden toolt, ami ahhoz kell, hogy normálisan lehessen használni (es a program beállítása Márpedig ez a kategoria), akkor az egy hulladék.

Az, hogy milyen az UI hozza, az irreleváns. (UI alatt itt a CLI-tol az ncurses jellegu konzoloson at a GUI-sig mindent ertelmezek)

----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™

Ok, induljunk ki egy pofonegyszerű felállásból. Az app webes, a konfigja weben át érhető el, onnan is konfigurálható.
Ám az app valami miatt nem indul el, mert valami beállítás, ami a konfigban volt, elévült - pl. megváltozott valamelyik szükséges backendhez tartozó jelszó/user/ip/bármi. Emiatt a webes felület alma, konzolon kell állítanod. Nyilván szar az app.
--
PtY - www.onlinedemo.hu

De, el tudok kepzelni. A c headerben konfigolando programtól kezdve a db/plaintext/yaml/json/xml/refistry/egyebbinaris konfifolasi modokig lattam mar sokmindent. Ettol fuggetlenul kitartok amellett, hogy indokolatlanul sok helyen lustaságból spórolnak a normalis konfiguralo utilokon.

Masreszt a "de legyen vi-al szerkeszthető, mert (random bullshit indokod)" kb. ugyanaz pepitában, mint amiert te kardoskodsz az XML ellen.

---------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™

Nem jeleskedsz túlzottan szovegertesbol.

De, el tudok kepzelni. Sot, mondok jobbat: találkoztam is. Sot, mondok megjobbat: fejlesztettek olyan programot is, aminek van default configja (nyilvan nem az alapvető működéshez szukseges configok mennek "zerobol", azert visit). De az, hogy kontrollalatlanul csinal valami fassagot egy program, mert nincs meg a hozza tartozó konfif fájl, az a konfig fájl típusától fuggetlenul védhetetlen.

Az is, ha a hibas konfig eseten a szoftver elindul es nem visit. Vagy te igy fejlesztést szoftvert?

----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™

Te nem érted, hogy mit írtam, és el sem tudod képzelni, hogy az adott dolog megtörténhet. Nem fogok most a kedvedért előszedni egy scenario-t, hogy mikor lehet probléma, mert fölöslegesen tépném (és ez már múltidő is egyben) a számat.
Maradjunk annyiban, hogy szerinted szar a szoftver, szerintem meg egyes esetekben szar az xml arra, amire egyes developerek használják.
Pont.
--
PtY - www.onlinedemo.hu

Na akkor megegyszer es utoljara, mert negyedszer nem fogom elmagyarazni: de, pontosan tudom jol, hogy megtortenik. Mert lattam. Es eppen ezert fos az a program, mert _megtortenhet_ az adott programmal.

De hogy ennek kurvara semmi koze ahhoz, hogy milyen formatumban tarolja a konfig fajlat, az hotzicher.

Tobbszor nem mondom el.

----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™

Hm... .ini-hez is, XML-hez is létezik parser, minden általam próbált nyelven. Minek megírni?

Amit az elején emlegettem, ott valójában épp arra céloztam, hogy összedobsz egy öt soros python szkriptet, ami valamelyik XML parserrel betölti neked változókba az egészet és kiíratod olyan formában, ahogy neked megfelel és máris átláthatod.
Persze nem olyan bonyolultságú dolgokra gondolok, mint az azt hiszem, lx által említett WebSphere Application Server konfigja. :)

Aki tudja, csinálja, aki nem tudja, tanítja... Hm... igazgatónak talán még jó lennék. :)

Hát az már legyen a te bajod, ha így állsz valamihez/mindenhez.
Jó, Haskellt még nem próbáltam, de úgy vagyok vele, hogy érdemes minél több nyelvet egy minimális szinten ismerni, mert sok esetben hasznos lehet. Például a python és a perl szinte minden unix-like rendszeren jelen van (legalább az egyik).

Aki tudja, csinálja, aki nem tudja, tanítja... Hm... igazgatónak talán még jó lennék. :)

Hidd el, tudom, hogy van ilyen hely, de kb. az összes felhasználási terület 0.05%-a lehet. Akkor meg miről beszélünk?
Azért mert az országban van három olyan hely, ahol XML konfigokat használnak kizárólag karakteres terminálon elérhető helyen, még nem kellene általánosságban kijelenteni, hogy ez hülyeség.

És nem, nem ez az utolsó gondolatom, ha szemre nem tudom átlátni és valamit kezdenem kell vele. Ha van kéznél python vagy perl, akkor legvégső esetben összedobok egy pár soros szkriptet, ami olvasható formára tördeli a fájlt, oszt jónapot!

Aki tudja, csinálja, aki nem tudja, tanítja... Hm... igazgatónak talán még jó lennék. :)

Sok hülye developer talán azért használja az XML-t, mert
1) van rá szabványos eszköz kb. minden nyelvhez.
2) ebből kifolyólag nem kell minden egyes formátumhoz saját parsert írni.
3) viszonylag jól definiálható a struktúrája (DTD, XSD).
4) Teljesen jól tagolt: XML tagekkel.
5) Rengeteg XML editor van már.

Inkább azt kellene megértenie a sok rendszeradminnak, hogy a configfile nem a tudomány csúcsa.

----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™

Kinek nem inge.
És lehet, hogy Te még nem találkoztál ilyennel, de vannak hülye developerek, akiknek ha kalapácsot adsz a kezükbe, mindent szögnek látnak. Róluk, és az XML-ről írtam (vö: kalapács). Sajnálom, hogy nehezen volt dekódolható az üzenet :)
--
PtY - www.onlinedemo.hu

Csak tudod amikor annyit kéne böffenbteni, hogy "42" és erre egy litániát zeng arról, hogy milyen ximl, meg hogy abban mi, hogy, merre és valahol a legeslegmélyebb bugyrában ott figyel az, hogy 42... Kettő bájt helyett mondjuk 2000... De elég, ha 1500 - ugyanis hálózaton az már két csomag, persze tcp, oda-vissza...
Az, amit csak a gép tud elolvasni, az mi a péknek kell úgy kinézzen, mintha emberi fogyasztásra is szánnák???

Igen, mehetne ugyanaz az adat más kódolással.
Pl. ASN.1/XER az embereknek, ASN.1/PER a hálózaton átküldeni.

Egyébként akikkel együtt dolgoztam eddig, azért szerettek XML-t használni mindenhol, mert így a hibakeresés egyszerűbb volt: a hálózaton átküldött adatot is szemmel lehetett értelmezni, lényegesen egyszerűbben, mint egy bináris streamet.

De teljesen lenyegtelen, az egesz XML-t ki lehetne hagyni, ha a legtobb appnak lenne valami konzolos beallitocucca, ahol megmondom neki, hogy "footool set-fooserver-backlog 42" es koszonjuk. Onnantol akar szerializalt Java objektumban is tarolhatja a konfigjat, mert hidegen hagy.

Egyebkent ujabban mas terjed: a JSON-fetis. Na az az igazi borzalom. Es nem tudod generalni a JSON-t hanem ott helyben kell betypogni, es ha valahonnet elfelejtesz egy vesszot vagy valami mast, akkor ugyanugy elszall, mint az XML.
--

Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. 

Debugoltad, hogy miért írja ezt? Esetleg ottmaradt egy pidfájl? Logot néztél?
Mindenesetre az initscript írója mondjon le.
- a bináris neve biztos, hogy pgagent (nem használtam, azért kérdem)?
--
PtY - www.onlinedemo.hu

(subs)
systemd alatt hogy állapítja meg a rendszer, hogy fut-e egy adott service? Hol tartja nyilván őket?

Aki tudja, csinálja, aki nem tudja, tanítja... Hm... igazgatónak talán még jó lennék. :)

Fogalmam sincs, nem a systemd mellett érvelek, hanem a koncepció mellett.

Csak egy példa: ha PID fájljal dolgozol, hogyan állapítod meg, hogy az a process, ami az adott PID alatt fut, pontosan ugyanaz a service, amit te indítasz? Mi van, ha időközben az eredeti service kihalt és mondjuk egy másik servicehez tartozó process fut helyette anélkül, hogy ténylegesen a process-t követnéd?

----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™

Hát ezen már én is gondolkodtam anno elég sokat és nagyon nem tetszik a rendszer ezen része - bár mostanában talán ritkább, hogy kidöglik egy-egy démon.
Valahogy jobban el tudnék képzelni valami socketes kommunikációt, amin keresztül meg lehet szólítani a processzt és lekérdezni az aktuális állapotát.
De ez már túlmegy a unixos alapelveken (hogy mindent minél egyszerűbben)

Aki tudja, csinálja, aki nem tudja, tanítja... Hm... igazgatónak talán még jó lennék. :)

"Nők is vannak köztetek talán?" :DDD

svchost: honnan tudod, melyik processz mit csinál? (nem ismerem elég mélyen a windows-t, de erre még nem találtam olyan választ, ami a windows beépített eszközeire támaszkodott - process explorer nem tartozéka a rendszernek)

Aki tudja, csinálja, aki nem tudja, tanítja... Hm... igazgatónak talán még jó lennék. :)

moosefs oldja meg ezt szepen (legalabbis nekem tetszik): file lockkal lefoglal egy fajl, ha sikerul neki akkor o" fut magaban, ha nem sikerul akkor le tudja kerdezni a lockolonak a pidjet, es tud neki signalt kuldeni. ha lehal a process, akkor a lock automatan felszabadul. persze ebben az esetben "jol" meg van irva a program.

--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!

Multkor irtam egy daemon-t, ami annyit tesz, hogy indit egy processzt, es ha az lefagyna akkor ujrainditja.

A baj ott kezdodik, hogyha a processz maga is daemon vagy ujrainditja magat mas pid alatt.

Arra van valakinek jo megoldasa, hogy egy kiindulo pid-bol vegigvezesse, hogy az most epp melyik processznek felel meg?
Kb. igy 4044 forkolta magat 4045 4046-ba, majd 4045 forkolta magat 4050 es 4051-be. 4044, 4045 megszunt (fork), majd 4050 meghalt (lefagyott).

En tudom a kezdeti 4044 pid szamat, hoygan tudom kideriteni a meg mindig elo (4046 4051) processzed pidjeit? Van erre valami methodus?

Udv,

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

sehogy, ha meghal egy szulo, akkor a gyerekek uj szuloje az 1-es pid lesz (init).

en ezt ugy tudtam kezelni, hogy a gyerek tudja erzekelni ha meghalt a szuloje egy signalon keresztul. ha ez eppenseggel a kill, akkor ugye legyilkolja sajat magat. (de barmelyik signal lehet, amit aztan el tudsz kapni handlerrel, ott meg azt csinalsz amit akarsz)

prctl( PR_SET_PDEATHSIG, SIGKILL );

--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!

most ezgettem erosen, es vagy a psutil a megoldas (pythonban), vagy a
`ps xf` kimenet feldolgozasa, es abbol okoskodas (ez milyen mar?), vagy
pedig egy process group letrehozasa.

ps xf kimenet bizergalasa:

def killPGroup(self):
"""
Attempts to find all childred & grandchildren of the spawned subproces
and gets all Ted Bundy with them.
"""
# get the pid, pgid, ppid of our current processes:
command = "ps eo pid,pgid,ppid"
psraw = os.popen(command).readlines()
psList = []
killList = []
for ps in psraw[1:]: # 1: gets rid of header
psList.append(map(int,ps.split()))
pgid = 0

# find the pgid of the spawned subprocess:
for ps in psList:
if int(self.p.pid) in ps:
pgid = ps[1]
break
if pgid == 0:
print >>sys.stderr, "Something screwed up trying to find pids. fudge."
return

# get a list of all pids in the pgid except the group owner:
for ps in psList:
if pgid in ps and pgid != ps[0]: # check [0] so we don't kill ourselves
killList.append(ps[0])

# don't do anything if we didn't find anything:
if len(killList) <= 0:
return

innen: http://www.linuxquestions.org/questions/linux-general-1/trying-to-kill-…

psutil

import signal, psutil
def kill_child_processes(parent_pid, sig=signal.SIGTERM):
try:
p = psutil.Process(parent_pid)
except psutil.error.NoSuchProcess:
return
child_pid = p.get_children(recursive=True)
for pid in child_pid:
os.kill(pid.pid, sig)

innen: http://stackoverflow.com/questions/3332043/obtaining-pid-of-child-proce…

process group

import os, signal, subprocess, time
p = subprocess.Popen('sleep 53 & sleep 54 | sleep 56',
shell=True, preexec_fn=os.setpgrp)
time.sleep(.3)
print 'killing'
os.kill(-p.pid, signal.SIGTERM)
p.wait()

innen: http://ptspts.blogspot.hu/2012/11/how-to-start-and-kill-unix-process-tr…

Szoval ugy latom meg lehet oldani.
Az idealis egyebkent, hogyha ketto darab daemonod van (mint amikor fizikai uC-kel bajlodik az ember, akkor is en mindig kettot teszek be, es eldonti magarol hogy o lesz a master, vagy nem, es egymastol lehetoseguk van az aram elvetelere).

A ket darab daemon pedig egymassal kommunikal, szerintem http-n keresztul. Lekerdezi a masikat, hogy el-e (1+4 mennyi?), ha a valasz 5, akkor el es mukodik. Ha nem, akkor onteszt, es ujrainditja a masikat, ugyanigy tesz a masik.

Virtualis gepen problema ez, amikor a programod fut 3-4 honapig gond nelkul, aztan valami miatt kifogy a memoria, es kilovi pont a programot amit a daemon figyel. (tobbszor jartam igy, ezert irtam daemont, mert a
tok szivas napokig nem venni eszre. De ugyanigy jarhat a daemon is, hogy ot lovik le, aztan arrol nem is ertesulok).

Most rPi-vel kiserletezek. Ott is elojon, hogy kellene egy daemon ami figyel par alapveto dolgot, es van par feladat amit legalabb hetente el kellene vegezni. Es fizikailag messze van tolem a kutyu, hogy odajarjak minden apro hibaert.
Meg tudna modulokat ki-be huzni a kernelbol, mert az rPi-nek van olyan hulyesege, hogy pendrivot nem ismeri fel boot utan, csak ha ki-be huzom.
Lehet erre kell majd valami GPIOval vezerelheto aramkort csinalni, ami megszakitja az 5V-ot. VAgy ha a wifi lehal. Ott is modul ki-betolt es megy az elet tovabb.

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....