abbruch der c programm mit strg-c

Von: , Frage gestellt am Mi, 16. Mai 2001

hallo,
ich möchte ein c programm unter unix schreiben der jede minute die datum und die zeit gibt
main()
{
while(1)
{
system("date");
sleep(60);
}
}
mein problem:ich möchte dies programm erweitern dass wenn ich
ctrg-c eingebe gibt das programm"byte byte" aus und terminirt.
ich würde sehr dankbar wenn jemand mir helfen kann.

2 Antworten zu dieser Frage

  1. Antwort von nach 3 Stunden 1 hilfreich
    Re: abbruch der c programm mit strg-c

    Ich denke du möchtest wenn du ctrl-c eingibst das Programm ordentlich mit Ausgabe terminieren lassen, oder?
    Es gibt unter Unix (Linux) den Systemcall "signal". Das ist eine Art Softwareinterrupt der das Programm zu einer bestimmten Reaktion zwingt. Bei einigen Signals wie KILL ode TERM die nicht verändert werde können, bricht das Programm ab. Es gibt darunter auch einen der für die Behandlung von ctrl-c zuständig ist wenn ich das richtig habe.
    Schau mal unter signal.
    Einen guten Artikel dazu gibt es im Linux-Magazin
    http://www.linux-magazin.de/ausgabe/1998/11/System/s...

    Viel Spaß
    Karsten

    • Antwort von nach einem Tag 0 hilfreich
      Re^2: abbruch der c programm mit strg-c

      hallo,danke für die antwort
      ich habe probiert signal aber hat nicht geklapt.

      #include<#include <sys/types.h>
      #include <signal.h>
      #include<stdio.h>

      void catcher(int);

      main()
      {
      signal(SIGINT, catcher);
      while(1)
      {
      system("date");
      sleep(60);
      }

      void catcher(int)
      {
      printf("bye bye");
      exit (1);
      }

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!