C-Program mit Parameter Starten und Stoppen



  • Hallo Forum,

    bin neu hier und hab auch bis jetzt keine Erfahrungen mit C-Programmieren.
    Ich hoffe ich bin hier auch richtig, wenn nicht bitte ich um Entschuldigung.

    Ich hab ein kleine Programmgesprieben für meinen Linux-Rechner programmier, das auf den Parallelport horcht und bei bestimmten Signalen einen Befehl ausführt. Soweit klappt es super.

    Ich kann das Programm mit dem Befehl "Start" von der Kommandozeile aus starten. Mittels "Stop" soll das Programm beendet werden.

    Wenn es aber mal läuft, dann läuft die Endlosschleife bei der der Port abgehorcht wird und und die Kommandozeile reagiert nicht mehr.

    Wie mach ich nun, dass das Programm im Hintergrund ausgeführt wird und ich es dann mit dem Sopp-Parameter beenden kann?

    Bin für jeden Tipp dankbar.

    MfG mildi



  • verwende man: fork(2) oder man: pthread_create, um Threads zu benutzen.



  • oder programm von der Konsole mit nohup programm & starten - beenden
    dann mit kill programm - im Programm SIGHUP, SIGTERM und konsorten
    vaerwenden, um eventuell allokierten Speicher noch freizugeben und
    eventuelle Dateien ordentlich zu schließen !.



  • pferdefreund schrieb:

    oder programm von der Konsole mit nohup programm & starten - beenden
    dann mit kill programm - im Programm SIGHUP, SIGTERM und konsorten
    vaerwenden, um eventuell allokierten Speicher noch freizugeben und
    eventuelle Dateien ordentlich zu schließen !.

    was hat das mit dem Problem zu tun? 😕



  • hi,
    das Problem sollte sich doch eigentlich auch mit select() lösen lassen. Einfach den STDIN-Fd und dein Paralelport-Fd pollen lassen.

    Ein paar Zeilen von deinem Code wäre natürlich auch sehr hilfreich. Bitte Code-Tags verwenden.

    mfg blan



  • Mach nen Daemon draus, installier den richtig und dann kannst du per /etc/init.d/deinDaemon start/stop alles steuern.


Anmelden zum Antworten