pkill



  • Hallo, ich programmiere in Linux mit g++ und code::blocks, der folgende c++ Codeschnipsel, möchte ich gerne erweitern, aber ich weiss nicht wie >>>
    C++:

    system("pkill -x clean");
    //clean ist ein selbst programmiertes und ausführbares Programm
    system("pkill -x sleep");
    // sleep ist ein shellkommando
    system("pkill -x sh");
    //sh ist der cronjob
    

    Im Ubuntumate Systemmonitor bleiben die Programme clean, sleep, sh während das programm clean gestartet ist,erhalten.
    Wie muss ich den c++ Quellcode ändern?



  • Es wäre hilfreich wenn du mal erklären könntest wo denn der Zusammenhang zwischen clean/sh/sleep und dem Code-Schnippsel ist.
    Ansonsten kann man dir hier nicht helfen.



  • Der Zusammenhang ist einfach erklärt, denn habe ich geschaffen.
    sh=cronjob
    clean=slbstgewählter und aussagekräftiger Name für das Programm
    sleep= interner c++ Programmablauf



  • Hier ist noch ein Bildschirmfoto , vom Ubuntumate Systemmonitor.
    http://www.fotos-hochladen.net/view/bildschirmfotoqu3a9ph4se.jpg



  • Mister C++ schrieb:

    Der Zusammenhang ist einfach erklärt, denn habe ich geschaffen.
    sh=cronjob
    clean=slbstgewählter und aussagekräftiger Name für das Programm
    sleep= interner c++ Programmablauf

    Das ist keine Erklärung des Zusammenhangs.
    Erklärung wäre:

    cron startet shellscript und erzeugt dabei eine shell. 
    Im shell script wird sleep aufgerufen
    
    Und clean ist das Programm in dem der Code-Schnippsel ausgeführt wird.
    Und clean soll die ganzen shells und sleeps entsorgen.
    

    Damit könnte man auch was anfangen.

    Wenn ich mit meinem Glaskugelblick recht habe, dann denke ich solltest du einfach mal einen Debugger zur Hand nehmen und ganz tief in die Logik deines Programms schauen.
    Dann findest du wahrscheinlich auch den Fehler.



  • Die Erklärung war schon richtig, beim debuggen funktioniert es auch.
    Wenn das Programm clean (selbstprogrammiert) per cronjob startet, bleiben die Programme wie im obigen C++ Codeschnipsel erwähnt, im Systemmonitor sichtbar.



  • Aber es wäre deine Aufgabe gewesen die Beschreibung zu liefern, nicht meine. Ich habe kein Bock aus völlig wirren Posts mir eine Funktion auszudenken in der Hoffnung das es das trifft was wer auch immer sich gedacht hat.

    Das nächste mal bitte aussagekräftige Thread Starts. Sonst gibts keine Antworten mehr von mir.

    Wenn das Code-Schnippsel in Clean enthalten ist und sich selbst als erstes killed glaube ich nicht das danach noch ein kill auf sh und/oder sleep stattfindet.

    Was immer du als debugger verwendest wird wohl das HUP signal auffangen und ignorieren oder du ignorierst eine entsprechende Meldung. Das führt dann dazu das die anderen Aufrufe zum killen von sh und sleep ausgeführt werden.

    Es zeugt nicht von besonderem Verständnis für die Abläufe wenn man den Prozess der gerade ausgeführt wird als erstes killed. Aber das ist nur meine persönliche Meinung.



  • simbad schrieb:

    Aber es wäre deine Aufgabe gewesen die Beschreibung zu liefern, nicht meine.

    Stimmt.

    Mister C++: Nächstes Mal wird bei mieser/nicht vorhandener Problembeschreibung der Thread geschlossen; besonders wenn du pampig reagierst, wenn potentielle Helfer nachfragen.


Anmelden zum Antworten