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

530

    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. Täytyi haukkuu sut lyttyyn

      En haluu tuntee rakkautta sua kohtaan enää ja haluun unohtaa sut mut sit tulee kuiteki paha olo kun haluis vaan oikeesti
      Ikävä
      62
      1735
    2. SINÄ nainen hyvin läheltä

      Pidän sinusta. Mutta mene ensin juttelemaan lääkärin luokse, ja hoida itsesi kuntoon. Sit kun sä olet kunnossa, niin mä
      Ikävä
      68
      1064
    3. 45
      1035
    4. Et voi olla loputtomasti hiljaa

      Nainen. Tarkoitan siis meidän juttua. Eihän tämä tällaiseen epätietoisuuteen voi jäädä siinä vaan särkyy kumpikin. Kerto
      Ikävä
      63
      980
    5. Ajatus aamuun

      Tämä jollekin tärkeälle. On asioita mistä jutellaan, on asioita mistä vitsaillaan, on myös asioita mistä ei puhuta kenen
      Ikävä
      71
      939
    6. Nainen mitä tekisit

      Joutuisit tekemään miehelle ja sinulle tai sinulle ja miehellesi ja kahdelle lapselle ruokaa ja kaapista löytyy 2 litraa
      Sinkut
      158
      909
    7. Siis ei ole edes mahdollista

      että ei törmätä, ei sit millään vaikka päällä hyppisi
      Ikävä
      44
      860
    8. Martina kauniina lehtihaastattelussa

      Martina antoi hyväntuulisen haastattelun lehteen. Tyylikkäitä kuvia ja kivoja vaatteita kauniilla Martinalla.
      Kotimaiset julkkisjuorut
      182
      815
    9. J-miehelle

      haluan kertoa että olet edelleen mulle rakas. Ajattelen sinua päivittäin kulta.
      Ikävä
      58
      798
    10. Minä en luota sinuun yhtään nainen

      ja aistin että yrität taas satuttaa henkisesti koska tiedät että olet heikkouteni joten siksi tein mitä tein mutta en ki
      Ikävä
      34
      762
    Aihe