mortadella011
Posts: 8
Joined: Mon Dec 10, 2012 2:08 pm

while()-Schleife in einem Prozess

Sat Jan 05, 2013 2:53 pm

Hallo!
Ich habe bereits ein C-Programm geschrieben welches Daten aus einer MySQL-Datenbank ausliest und am GPIO ausgiebt, das ganze läuft in einer while(1)-Schleife ab.
Bisher habe ich das Program mit "pkill program_name" gestoppt, damit konnte ich aber nicht die Verbindung zur Datenbank trennen oder die Pins auf Input setzen.

Nun meine Frage:
Gibt es eine Möglichkeit diese while()-Schleife in einen anderen Prozess auszuführen, und über einen Programmaufruf wie "program_name --start" oder "program_name --stop" diese Schleife zu stoppen?
Danach sollte die Verbindung zur Datenbank getrennt werden und alle GPIO-Pins wieder auf Input gestellt werden.

Liebe Grüße,
Stefan

ghans
Posts: 7882
Joined: Mon Dec 12, 2011 8:30 pm
Location: Germany

Re: while()-Schleife in einem Prozess

Sat Jan 05, 2013 10:21 pm

Kannst du nicht Prozess-Signale abfangen ?
Ich habe nach "Linux Signals" gegoogelt und sofort Codebeispiele
gefunden. kill kann AFAIK jedes beliebige Signal an einen
Prozess senden , nicht nur SIGTERM.

ghans
• Don't like the board ? Missing features ? Change to the prosilver theme ! You can find it in your settings.
• Don't like to search the forum BEFORE posting 'cos it's useless ? Try googling : yoursearchtermshere site:raspberrypi.org

mortadella011
Posts: 8
Joined: Mon Dec 10, 2012 2:08 pm

Re: while()-Schleife in einem Prozess

Sun Jan 06, 2013 12:01 pm

Habs zurzeit mit SIGTERM laufen. Funktioniert einwandfrei.

Mich hätte nur interessiert wie es mit dem oben beschriebenen Beispiel funktioniert!

Lg Stefan

ghans
Posts: 7882
Joined: Mon Dec 12, 2011 8:30 pm
Location: Germany

Re: while()-Schleife in einem Prozess

Sun Jan 06, 2013 1:42 pm

Naja , das Programm könnte seine PID in ein PIDFILE
schreiben .
Und dann , wenn es nochmal aufgerufen wird , diesen einlesen
und mit kill() SIGTERM oder wasauchimmer senden.


ghans
• Don't like the board ? Missing features ? Change to the prosilver theme ! You can find it in your settings.
• Don't like to search the forum BEFORE posting 'cos it's useless ? Try googling : yoursearchtermshere site:raspberrypi.org

Return to “Deutsch”