linux ajastin

prorammer

olen tehnyt c :lla linuxissa serveriprosessin, joka on jatkuvasti käynnissä ja kuuntelee sokettia. Haluaisin, että prosessini ottaa mysql tietokantaan yhteyden esim. joka
torstai kello 14.00 ja tallentaa sinne tietoa. Noita ajastettuja tapahtumia pitäisi tehdä enemmänkin.

Kuinka tuo tiettynä ajanhetkenä tapahtuva toiminta olisi helpointa toteuttaa? Löytyykö jotain alarm() tapaista funktiota, johon voihin asettaa päivämäärän/kellonajan noiden sekunttien tapaan jotain alarm() ottaa vastaan?

6

572

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • *BSD

      Setitimer() on varmaan funktio, jota etsit. Tolla tosin ei voi päivämäärää laittaa suoraan mutta voit tehdä SIGALRM-käsittelijän, joka tarkastaa ajan yms.

      Toinen tapa, joka tuli mieleen on käyttää cronia lähettämään signaali (vaikka SIGUSR1 tolle prosessille kun aika menee umpeen).

      • prorammer

        >Toinen tapa, joka tuli mieleen on käyttää cronia >lähettämään signaali (vaikka SIGUSR1 tolle >prosessille kun aika menee umpeen).
        mitens tuon lähetys onnistuu komentoriviltä/skriptistä?


      • prorammer kirjoitti:

        >Toinen tapa, joka tuli mieleen on käyttää cronia >lähettämään signaali (vaikka SIGUSR1 tolle >prosessille kun aika menee umpeen).
        mitens tuon lähetys onnistuu komentoriviltä/skriptistä?

        Tietysti ohjelmalla kill. Esim. "kill -USR1 prosessin_pid". C/C :lla kikkaillessa voit käyttää systeemikutsua kill (katso "man 2 kill").


      • prorammer
        Mik26 kirjoitti:

        Tietysti ohjelmalla kill. Esim. "kill -USR1 prosessin_pid". C/C :lla kikkaillessa voit käyttää systeemikutsua kill (katso "man 2 kill").

        vielä jatkokysymys. prosessithan käynnistyy aina vaihtelevalla pidillä. miten saan tuon skriptin löytämään prosessin nimeltään xxx pidin?


      • *BSD
        prorammer kirjoitti:

        vielä jatkokysymys. prosessithan käynnistyy aina vaihtelevalla pidillä. miten saan tuon skriptin löytämään prosessin nimeltään xxx pidin?

        Se prosessi voi kirjoittaa sen PIDn vaikka levylle (esim. /var/run/xyz.pid) käynnistettäessä. Toinen tapa varmaan on käyttää pgreppiä (tai ps -ef | grep ..).


      • prorammer
        *BSD kirjoitti:

        Se prosessi voi kirjoittaa sen PIDn vaikka levylle (esim. /var/run/xyz.pid) käynnistettäessä. Toinen tapa varmaan on käyttää pgreppiä (tai ps -ef | grep ..).

        kiitoksia kaikille vastanneille.. nyt selviän eteenpäin.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Kuolemanrangaistus

      Mielestäni kuolemanrangaistus on väärin kaikissa tilanteissa. Vaikka joku olisi murhannut 10 ihmistä, hänen surmaaminen
      Laki ja rikos
      118
      6864
    2. Miksi persut eivät häädä mamuja pois Suomesta?

      Sitä vartenhan persut äänestettiin valtaan. Nyt valta on persuilla. Mamut nostaa työttömyyskorvauksia. Persut huutaa mam
      Maailman menoa
      47
      4552
    3. Riikka Purra ei estä tehomaksun käyttöönottoa

      Sähkön hinnoittelua koskevan määräyksen on määrä astua voimaan vuoden 2029 alusta, Energiavirastosta kerrotaan. Määräyk
      Maailman menoa
      72
      3692
    4. Sinä olet minun forEver

      Sinä olet minun sielussain, sydämessäin, huulillain, sinä olet ain, Sinä olet vieressäin, kainalossain, sylissäin, ain,
      Ikävä
      27
      2744
    5. Sanna Marinille pedataan paluuta pääministeriksi?

      Näyttäisi mylly lähteneen käyntiin nyt toden teolla. Nykyiset oikeistodemarit haukutaan vasemmistodemareiden toimesta ni
      Maailman menoa
      28
      2431
    6. Jos kaikki lopulta kuolevat, onko edes pahimmillakaan rikoksilla mitään väliä?

      Kaikki kuolevat lopulta. Siksi ihmisten tekemillä rikoksillakaan ei lopulta ole mitään merkitystä. Joidenkin mielestä t
      Filosofia
      22
      1906
    7. Mies joka vetäytyy osoittaa teoillaan

      Ettei halua olla tekemisissä. Mies joka ei vastaa viesteihin, ei halua sua. Mies joka jättää sut epätietoisuuteen, ei
      Ikävä
      200
      1428
    8. Martinan prinsessahäät peruuntui

      Seiska uutisoi Kauneus ja Terveyslehden artikkeliin perustuen mihin nämä häät kosahti.
      Kotimaiset julkkisjuorut
      319
      1224
    9. Vakavasti psyykkisesti sairas on pakkohoidossa - Ja asuu silti kotona

      Miten käy, kun vakavasti psyykkisesti sairas "hoidetaan" kotona? Norjassa psyykkisesti sairaiden vuodepaikkojen määrä on
      37
      1032
    10. Pahastuisitko

      Jos tietäisit, että katselen lähes päivittäin kuviasi? Miehelle
      Ikävä
      88
      888
    Aihe