Az alkalmazások autoleviselésének módszerei mac os x-ben

Az alkalmazások autoleviselésének módszerei mac os x-ben

Nos, végül a második részre jutottam. Az utolsó alkalommal beszéltem röviden a legegyszerűbb módja annak, hogy az automatikus indítás alkalmazások Mac OS X Ma, a megjegyzés vonatkozik elsősorban a haladó felhasználók (vagy azok, akik szeretnének lenni az ilyen), mivel ez fog összpontosítani „ügynökök” és a „démonok”%) természetesen nos, nem tudom ebben a cikkben, hogy fedezze az összes lehetőség, hanem, hogy egy rövid kitérő ez a téma lenne, mint az orosz nyelvű „alma” orientált internetes források az elmúlt években, hogy valahogy elfelejteni, hogy amellett, hogy híreket és pletykákat vannak sokkal érdekesebb és hasznos témák Athey;)

A Mac OS X rendszerben, mint más UNIX-szerű operációs rendszereknél, számos rejtett "kar" van a különféle rendszerfolyamatok indításához, kezeléséhez és fenntartásához. Néhány ilyen "kar" a rendszerszolgáltatás: szolgáltatások (szolgáltatások) és démonok (démonok). A lényege, hogy a "szolgáltatások", azaz a "démonok" olyan rendszerszolgáltatások, amelyek a teljes rendszer belső munkáját szolgálják, de kevéssé célzottak különféle célokra, jóllehet kicsit másképp működnek. Mit csinálnak ezek a "szolgáltatások" és a "démonok"? - És szinte mindent csinálnak, kezdve a beágyazott webszerver elindításától és a fájlrendszerek felépítésétől, és véget vetnek a grafikus felület elindításával együtt a rendszer- és felhasználói alkalmazásokkal. A szolgáltatások maguk a konfiguráció XML fájlok, a .plist kiterjesztéssel. a LaunchAgents vagy LaunchDaemons könyvtárakban (a rendeltetési helytől függően). Számos LaunchAgent és több LaunchDaemon van a rendszerben. amelyek mindegyikét bizonyos jogosultságok szerint dolgozzák fel:

- Az ebben a könyvtárban található összes konfigurációs fájl csak akkor kerül végrehajtásra, amikor a felhasználó bejelentkezik (a benne található könyvtárban) és a felhasználó jogaival. Használhatja fiókjának személyre szabásához anélkül, hogy a rendszer és a többi felhasználó befolyásolná.

- Ez a rendszerkönyvtár, és az összes benne lévő konfigurációs fájl akkor kerül végrehajtásra, amikor a bejelentkezett felhasználó jogaival rendelkező felhasználók bejelentkeznek.

- Ez egyben egy rendszerkönyvtár is, de az összes konfiguráció a rendszergazda (root) nevében történik a rendszer szintjén (azaz a szkript végrehajtásra kerül, függetlenül attól, hogy a felhasználó bejelentkezett-e a rendszerbe vagy sem).

- A rendszer könyvtárat az OS X foglalja le. Az összes konfiguráció az egész rendszeren belül fut, ha bármely felhasználó bejelentkezik.

- A rendszerkönyvtárat az OS X fenntartja. Minden konfiguráció, amely benne van, rendszerszintű, és futtatható, amikor a rendszer rendszergazdai jogosultságokkal (root) indul.

Meg kell értenie a LaunchAgents és LaunchDaemons könyvtárak célját. és a különbség közöttük. A LaunchAgents könyvtárak a "szolgáltatások" elindítására használhatók, és a LaunchDaemonokat "démonok" futtatására használják. A "szolgáltatások" és a "démonok" közötti különbség az, hogy a "szolgáltatások" általában a GUI betöltése után kezdődnek, és grafikus alkalmazások futtatására vannak tervezve; A "Démonok" a GUI betöltése előtt futtathatók a háttérben, és úgy vannak tervezve, hogy grafikus felület (konzol segédprogramok, bash és shell parancsfájlok stb.) Nélkül betöltsék az alkalmazásokat (szolgáltatásokat). Minden konfigurációs .plist fájl feldolgozása és futtatása a launchd háttérfolyamatban a rendszerindításkor. A process launchd rendszerszolgáltatások ("szolgáltatások" és "démonok") által indított adatok a memóriában vannak, és az operációs rendszer végéig működnek, és a megadott szabályok szerint végzik el a megadott funkciókat. A konfigurációs .plist fájlok önmagukban nem nevezhetők alkalmazásoknak - ezek csak "szkriptek" más alkalmazások futtatásához. A Szolgáltatások és Démonok egyszerűen olyan fájlok, amelyek a rendszer működésének kezdetétől a befejezéséig tartalmaznak szabályokat. Mi érdekes az ilyen "szabályok" használatának módja? - Először is érdekes a rugalmasság és a funkcionalitás. Azt hiszem, sokan már kevéssé tisztában vannak a fentiekből, de amikor elkezdem szétszerelni a példákat, remélem mindannyian világossá válnak;)

Tetszett? Ossza meg barátaival!

Oh! Rendben, reggel kitalálom, különben vadászni fogok;)
A kutya burkolása

Nos, igen, amikor a shell parancsfájlokat XML-be konvertálja, némi zavart okozhat. Lehetőség van arra, hogy megpróbálja beilleszteni vagy a teljes szkriptet beírni:

Vagy más módon próbálkozhat:

De a legegyszerűbb (hogy ne "kitalálni") egy bash parancsfájlt hozzon létre, például véletlenszerű magot:

És az XML-ben (.plist) adja meg a generált szkript teljes elérési útját:

Természetesen a véletlenszerű mag-szkriptnek hozzá kell adnia a megfelelő hozzáférési jogokat és attribútumokat.
A kutya burkolása

Hatalmas Köszönöm, kipróbáltam az utóbbi lehetőséget - mint minden, ami kiderült (a véletlenszerű sorozathoz tartozó keresési naplókban nincs semmi - ez helyes?)

A második kérdés a következő: Tudja, hogyan kell egy scriptet futtatni a LOGOUT-on?

Válasz kérlek!
Kutya burkolat

Igen, egyáltalán nem. Ellenőrizheti, hogy a szkript a következő módon működik-e. Van egy sor a szkriptben:

De mivel ez a visszhang elindul a launchd-en keresztül, a konzolhoz nem lesz semmi kimenet (a hibák kivételével). Módosítsa a szkriptet így:

És most minden visszhang jelenik meg a konzolban. Az újraindítás után indítsa el a konzolt, és keresse meg a "RandomSeed" szót vagy a "Kernel véletlenszám-generátor inicializálása" sort a naplókban. Ha jelen vannak, minden rendben van, a script működik. Ez a feszültség, mint egyfajta eszköz a hibakereséshez;)

A parancsfájlok végrehajtása a kimenet / leállítás / újraindítás előtt ... A Tigris 10.4-es verziójáig, és beleértve azt is, nagyon egyszerű lehetőség volt bármilyen kripták készítésére, egyszerűen elhelyezve őket a megfelelő mappába. A Mac OS X következő verzióinak kiadásával ez az elv kiküszöbölésre került, és az aktuális 10.7-es oroszlán és a 10.8-as hegyi oroszlán esetében a kampót használnia kell a kijelentkezési parancsfájlok futtatásához. Ez így működik:
1. Hozzon létre egy shell parancsfájlt a szükséges parancsokkal, például itt van:

2. Mentse el például a logout_hook név alatt a rendszer mappában / sbin-ben, és adja meg a megfelelő jogosultságokat és attribútumokat:

3. Add hozzá a kampót:

Nos, megpróbáljuk ... magam nem próbáltam meg, de elméletben mindennek működnie kell.
A kutya burkolása

Kiderült, hogy korán boldog voltam:
--------------
Június 16. 22:08:01 MacBook.local loginwindow [343]: *** NSTask: Feladat létrehozása az út '/ bin / customs_cripts / random-seed_Stop' sikertelen: 22 «Érvénytelen argumentum». Az ideiglenes folyamat leállítása.
--------------
random-seed_Stop:
=======================
LOGS = 'RandomSeedStop'
(
echo "RandomSeedStop és én kiléptem most ..."
- Milena vagyok "Véletlenszerű Seed vagyok, befejeztem a munkát ..."
# Mentse el a véletlenszerű számgenerátor véletlen forrását
# amikor kilépsz. Mentse el az 512 bájtot
# entrópia pool véletlenszám-generátorhoz.
echo "Véletlenszerű magok mentése ..."
dd ha = / dev / urandom = / var / véletlenszerű magszám = 1
) | logger -s -t $ LOGS
=======================
Ki hibáztatható és mit tegyen.
Kutya burkolat

Tehát ez csak egy fájl, amellyel a szkriptet fel lehet használni. Számomra úgy tűnik, hogy a szkript helyesen teljesít, a probléma nem az autorunban, és nem egy szkriptben. A probléma az, hogy a dd segédprogram nem tudja húzni az UDID-t a / dev / urandomből. amely a legvalószínűbb generációhoz.
A kutya burkolása

Kérem, mondja meg, ha találkozott. Van egy szerver, amely hallgatja a kéréseket elfogadó portot és a válaszok küldését. A felhasználó egyszerű indításakor mindig gond nélkül dolgozik. Jól működik, mint egy démon bármely könyvtárból, amikor a rendszer elindul. A diagnosztika azt mutatja, hogy minden úgy működik, ahogy kell, a port nyitva van. Biztonsági szempontból a port nyitva van, de a kapcsolatot elutasítják. Az ügyfél nem látja. Normál üzemmódban csak akkor jár, ha eltávolítják, és ismét felemeli az indítómotort. További problémák már nem merülnek fel. A plist'e előírt aljzatok a kézikönyv, de az ügyfelek szorul feszes, de a kapcsolat szerver még mindig nem látja, és nem fogadja el. Az ilyen viselkedések újraindítása nem változtat semmit.

Hálás lennék bármelyik dologért, mivel semmi sem találhat a hálózatban, amíg kiderült. Igen, és a Sockets rész használatát szinte nem veszik figyelembe. De biztos vagyok benne, hogy korlátozások vannak a kikötőkben. De mégis, mi ...

Jó napot, mondd el, milyen eljárást kell megölned, RunOuc. megállapítás nem proguglit amikor elindította „eszik 90%” processzor, MacBook Air ^ így erősen fűtött, és az akkumulátor gyorsan üljön le, újraindítás után egy darabig eltűnik, majd ismét megjelenhet ...
Köszönöm előre ...

Üdvözlet! Meg kell nézni. Ez az indítási folyamat (véleményem szerint). Ez azt jelenti, hogy valami a rendszer kezdete után kellett volna elindulnia, de lógott és "evett".
Hüvelyes sperma

A program nem indul el, és nem indul újra. A szkript, a második oldal teljes példánya, csak egy másik fájl elérési útját változtatta meg.

Az alkalmazások autoleviselésének módszerei mac os x-ben

Az üzletben lévő eszközöket az Apple-eszközöket használó Apple mérnökök hozták létre. Reméljük, hogy ezzel a "műalkotással" dolgozhatunk, és arra ösztönözzük, hogy valami újat hozzon létre.

Az alkalmazások autoleviselésének módszerei mac os x-ben

Az alkalmazások autoleviselésének módszerei mac os x-ben

Ha bármilyen Apple-eszköz nincs rendben, készen állunk arra, hogy gyorsan és pontosan alárendeljük. Csak kap tanácsot frissítéseket és a tervezett karbantartása hogy biztosítsa a tartós és hibamentes működését. Küldje el kéréseit javításra és karbantartásra.

Kapcsolódó cikkek