Toon posts:

hoe een deamon in linux/unix programmeren?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

ik wil graag een deamon programmeren die om de zoveel tijd een paar taakjes automatisch uitvoerd.

Nu heb ik gezocht maar docs met threads voor linux en proc's voor linux. Maar niets kunnen vinden over hoe je nu een deamon standaard opzet.

Heeft iemand een idee?

  • FatalError
  • Registratie: Juni 1999
  • Laatst online: 20:59
perl+cron geeft niet voldoende mogelijkheden?

If it ain't broken, tweak it! | gasloos sinds oktober 2025, hoekwoning 1978 | 10kWp PV, Panasonic K serie 7kW, Atlantic Explorer V5 270L | Tesla Model Y | 3x Victron MP2 6k5, 48kWh


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

kan desnoods met een cron?
man cron :)

Doet iets met Cloud (MS/IBM)


  • Bigs
  • Registratie: Mei 2000
  • Niet online
Is een cronjob geen oplossing? En anders kun je je programma gewoon op de achtergrond laten draaien door een &-teken achter de commandoregel te zetten.
Anders moet je iets met fork doen geloof ik.

Verwijderd

Topicstarter
Nee, ik wil het liefst in C, omdat ik dan leuke speciale dingen kan uitvoeren. En ook, omdat ik C gewend ben....

  • FatalError
  • Registratie: Juni 1999
  • Laatst online: 20:59
cron+C dan :)

If it ain't broken, tweak it! | gasloos sinds oktober 2025, hoekwoning 1978 | 10kWp PV, Panasonic K serie 7kW, Atlantic Explorer V5 270L | Tesla Model Y | 3x Victron MP2 6k5, 48kWh


  • jkf
  • Registratie: Oktober 2000
  • Laatst online: 21-06-2025

jkf

Je kan ook een c programma vanuit cron aanroepen (of java of objective c of fortran of (mits je een compiler ervoor hebt) cobol...

Als je dat niet wilt, begin met het lezen van de man paginas over sleep (3) en setitimer (2) en daemon(3)

P II 233 @ begane grond, rip (1997-2007), vervangen door vituele server uptime,


  • The Bad Seed
  • Registratie: November 2001
  • Laatst online: 13-09 12:19

The Bad Seed

Chaotic since 1983

Op dinsdag 19 februari 2002 22:12 schreef JelleAret het volgende:
Nee, ik wil het liefst in C, omdat ik dan leuke speciale dingen kan uitvoeren. En ook, omdat ik C gewend ben....
Je progt wat je het wil laten doen in C en dan laat je dat progje uitvoeren door cron... :)

Hail to the guardians of the watchtowers of the north


Verwijderd

daemon: in de main thread voer je een fork() uit en daarna be-eindig je in de main thread (parent) en in de child doe je wat de daemon moet doen.

Maar cron lijkt mij idd veel geschikter voor dit werk, daemons zijn meer voor andere dingen bedoeld ;)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void startdaemon()
{
  int pid = fork();

  if (pid > 0) /* parent/start-process */
  {
    printf("Daemon started - exiting\n");
    exit(1);
  }
  else /* child/daemon */
  {
    //doe hier het werk wat de daemon zou moeten doen
  }
}

Verwijderd

Topicstarter
Ok, bedankt. Ik ga kijken naar zowel Cron en de Man pages.

Verwijderd

even voor de duidelijkheid;

daemons zij achtergrond programma's die permanent
draaien en wachten op events (interrupts) van buitenaf
(zoals connection requests, incoming ip-packets,...)

Wat jij wilt is geen daemon maar een doodgewone backgroundjob die periodiek moet aflopen.
Die kun je scripten in perl of bash of ksh or whatever.
Maar ook programmeren en de executable laten uitvoeren.
Dit 'schedulen' doe je normaal gesproken in unix/linux
met cron.
Pagina: 1