![]() |
|
|
google unix.com
|
|||||||
| Fórumok | Regisztráció | Fórum Szabályok | Linkek | Albumok | GYIK | Tagok listája | Naptár | Keres | Mai hozzászólások | Megjelöl Fórumok Olvas |
| HP-UX HP-UX (Hewlett Packard UNIX) a Hewlett-Packard saját végrehajtását a Unix operációs rendszer alapján Rendszer V. |
Több, UNIX és Linux fórum témák Ön által talált Hasznos
|
||||
| Szál | Thread Starter | Fórum | Válaszok | Utolsó hozzászólás |
| Add a kimenetet egy lekérdezést egy változót kell használni a másik query | hazno | Shell programozás és Scripting | 0 | 03-24-2009 08:52 PM |
| Mac OS X: Miért a Mac nem alszom vagy tartózkodási alvó üzemmódban | iBot | OS X Support RSS | 0 | 03-19-2009 10:50 PM |
| konvertáló localtime a unixtime | AshishK | A UNIX a fejlett és szakértői Felhasználók | 2 | 10-30-2007 10:22 AM |
| Perl + localtime () | Optimus_P | Shell programozás és Scripting | 3 | 07-09-2003 06:32 PM |
| alszik | Anna | A UNIX a dummies Kérdések és válaszok | 5 | 07-11-2001 12:52 AM |
![]() |
|
|
LinkBack | Téma eszközök | Keresés a téma |
Értékelés:
|
Megjelenítési módok |
|
|
|
||||
|
sleep & localtime query
Szia,
Én munka HPUX alkalmazásáról és én egy kérdés tekintetében alvás és localtime rendszer hívás HPUX. Itt a kód, hogy van: const uint32_t WAKE_INTERVAL_SEC (30 * 60); while (true) ( / / Find out hány óra van time (& CURRENTTIME); / / Thread összehangolni az ébresztés óra 30 perc, azaz ha jelenleg 9:20 ébresztés után 10 perc, / / Ha ez jelenleg 9:05, ébresztő után 25 perc. Számítsuk hátralévő másodpercek számát e fél órán keresztül. sleepTime \u003d WAKE_INTERVAL_SEC - (CURRENTTIME WAKE_INTERVAL_SEC%); while (1) ( sleep (sleepTime); / / Do rendszeres munka tptr \u003d localtime (& CURRENTTIME); if (12 \u003d\u003d tptr-> tm_hour & & tptr-> tm_min <WAKE_INTERVAL_MIN) ( / / Noon elvégzendő munka ) ) Várható Viselkedés: Mint a fent említett kódot, azt várjuk, hogy fél óránként, valami munkát kell végezni, és ha abban az időben történik, hogy 12 és 12:30 akkor mi is van dél munkát. Tényleges viselkedése: Az idő nagy részében ez a várt módon működik. De néhány alkalommal, az alvás úgy tűnik, hogy kilépés előtt néhány másodperccel 12:30, és így a logika nem működik, és nem a déli munkát. Ideális esetben én azt várná, hogy a déli munka nem feltétel, mert az üzenet 12:30-kor felébredtem, és ezért nem tud satisify délben munka feltételt. (A Trace syslog jelzi, hogy a rendszeres munka már megkezdődött 12:30-kor, de a fakitermelés is volna egy kis időt, és gyanítom, aludni volna felébredt korai) Kérdés: - Tud aludni felébred, mielőtt a menetrend időt (kivéve SIGALRM)? Van még olyan körülmények között, ahol aludni lehet ébredni tervezett időpont előtt? - Tud localtime összehasonlításhoz használt vissza rossz időben? - Lehetséges, hogy van néhány alkalommal végzett kiigazítások belső (lehet, a belső óra sodródik stb) ami álmában felébred a második a vártnál előbb vagy helyi idő során valamilyen okból kiigazítás? E nyersanyagot ebben a tekintetben az appreciated. Thanks & Regards, fájlnak |
|
||||
|
Hi Jim,
Köszi a választ. Igazából threads lehet ébredni bármikor alapuló ütemező, így a logika az volt, hogy ellenőrizze az idő a szál kell aludni, hogy annak összhangban áll 30 perces időközönként. With Regards, nsvora |
|
||||
|
Próbáltam közölnie kell ezt világosan: Ön nem tudja garantálni, hogy pontosan mennyi ideig alvás. Meg kell adnod pár tócsa (fudge factor) az Ön második számítás így vagy úgy, hogy nem megy ki tökéletesen minden alkalommal - a példa feltételezi, hogy van POSIX megfelelő idő - azaz., no szökőmásodperceket.: Kód:
calculate duration of sleep: time_t how_long_to_sleep=1800; how_long_to_sleep-= time(NULL) % 1800; sleep(!how_long_to_sleep ? 1800 : how_long_to_sleep); vizsgálati idő után ébresztés: Kód:
time_t now=time(NULL); now=now % 1800; if( now < 2 && now > 1797) // sleep period ended close enough else // sleep period is off by too much fi Ön is megpróbál usleep (érték), amely finomabb finomsága ms-ben, de újra érték a minimum. Ez lehet hosszabb. Például egy nagyobb prioritású feladat, mint ez fut. |
![]() |
| Könyvjelzõk |
| Téma eszközök | Keresés a téma |
| Megjelenítési módok | Rate this thread |
|
|