Job im shell skript erstellen

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hi
    ich suche den befehl wie man ein prozess in den hintergrund verschieben kann im skript ich kenne nur die mehtode in der shell
    ein & hinter enen befehl zu schreiben
    kann mir da jemand helfen ?
    LG
    nilswe
    :danke_ATDE:

    Einmal editiert, zuletzt von nilswe (15. Februar 2014 um 11:05)

  • Danke für die schnelle antwort aber wie krige ich dann den job wieder beendet denn er wird nicht unter jobs angezeigt:huh:
    Vielen Dank im Voraus
    nilswe

    Einmal editiert, zuletzt von nilswe (15. Februar 2014 um 11:57)

  • Dann ist der Job vermutlich schon beendet. Du kannst ja mal mit

    Code
    ps -ef |grep -i meinBackGroundJob


    nachsehen. Oder

    Code
    meinBackGroundJob &
    pid=$!
    # und dann irgendwann spaeter den job beenden mit
    kill $pid
  • mmm ja ok aber er läuft aber im vordergrund und wie krige ich ihn dann per scipt in den hintergrund als job ?
    Danke im Voraus und für die gedult mit mir
    MFG
    nilswe

  • Lunepi: Du bist mir da mit der Frage zuvorgekommen :lol: Ich stehe auch irgendwie auf dem Schlauch was er eigentlich genau will.

    nilswe: Beschreibe doch mal WAS Du machen und erreichen willst und nicht WIE (mit fg/bg usw). Sehr haeufig gibt es auch andere Loesungswege.

  • Danke für die schnelle antwort aber wie krige ich dann den job wieder beendet denn er wird nicht unter jobs angezeigt:huh:

    *blödfrag* Wie guckst du denn nach "Jobs" nach?

    Ich glaub du verwechselst hier was... JOBS sind eigentlich Aufgaben die über cronjobs (bzw crontab) ausgeführt werden (Forumsuche nach: crontab)


    Also das was Du eigentlich machen willst ist ein Programm ( wie du leider erst nach 3 Posts erwähnt hast ) über PHP auszuführen - das ist kein JOB

    Entweder man nutzt die klassische Methode mit dem " & " am Ende der Zeile, dann wird der Prozess aber beendet wenn man die Shell verlässt (sich aus loggt).
    Oder man nutzt ein zusätzliches Programm namens screen, womit der Prozess auch nach ausloggen weiter laufen würde.
    Oder man setzt an den Anfang der Ausführungszeile den Befehl nohup.

    Details zu den (sofern installiert) Befehlen kann man generell in den sog. 'manual pages' nachlesen: man <befehl> also zum Beispiel man nohup


    Ich will über meinen webbrowser einen pyhton script starten und wider stoppen können

    Dazu gibt es mehrere Möglichkeiten...

    • Beim ausführen eine sog. PID (ProzessID) Datei erzeugen welche dann überprüft, ausgelesen und beim beenden gelöscht wird
    • die Process Liste (ps) abfragen, die abfrage nach dem Programm/Script Namen filtern und die PID zum beenden nutzen

    Führ mal auf der Konsole (Shell) den Befehl ps aux aus, dann erhällst du eine laaange Tabelle mit allen derzeit laufenden Prozessen. In der 2. Spalte steht die PID, die man dann zum beenden des Prozesses nutzen kann..

  • Ich hab das hier irgendwo schon mal beschrieben bzw sowas ähnliches... Bemüh halt mal die Forumsuche oben rechts zB nach " PID " oder " PHP Programm "...


    Ein Beispiel findest du zB hier im Spoiler oder hier


    Wenn das Script/Programm root Rechte brauch dann such nach sudowebscript und du findest zB das


    Oder du findest etwas im [FAQ] Nützliche Links / Linksammlung

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!