Hintergrundscript stürzt ab, aber wo?

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
RabenFlug
Beiträge: 2
Registriert: 01.06.2014 19:04:35

Hintergrundscript stürzt ab, aber wo?

Beitrag von RabenFlug » 01.06.2014 19:09:18

Hallo liebe Experten,

ich habe das Problem, dass ein von mir mittels

Code: Alles auswählen

sudo python scriptxyz.py&
gestartetes Script irgendwann nach einigen Tagen abstürzt, ich dann aber schon längst die Putty-Shell wieder geschlossen habe.
Der Befehl

Code: Alles auswählen

ps -A | grep python
zeigt dann kein python mehr an.
Nun würde mich interessieren, ob es eine Möglichkeit gibt, alle Ausgaben des mittels & als Hintergrundprozess gestarteten Scripts z.B. in eine Datei zu schreiben. Irgendwann muss eine exception auftreten, und welche das ist wüsste ich gerne. Leider konnte ich wenig Infos dazu finden, was genau beim Aufruf eines Programms mittels & mit den Ausgaben passiert.

Würde mich sehr über Tips freuen :)

DeletedUserReAsG

Re: Hintergrundscript stürzt ab, aber wo?

Beitrag von DeletedUserReAsG » 01.06.2014 19:13:03

Lass’ es doch im Vordergrund laufen. Debiantmux oder Debianscreen wären die passenden Werkzeuge dafür, wenn du die Verbindung nicht so lange offenhalten willst.

Ansonsten malt ein Hintergrundprozess eigentlich auf das Terminal, von dem aus er gestartet wurde. stderr und stdout sollte man klassisch in eine Datei umleiten können.

OT: bist du sicher, dass das Script via sudo und damit möglicherweise (je nach dessen Konfiguration) mit Rootrechten laufen muss?

RabenFlug
Beiträge: 2
Registriert: 01.06.2014 19:04:35

Re: Hintergrundscript stürzt ab, aber wo?

Beitrag von RabenFlug » 01.06.2014 20:15:51

Danke für den Tip, werde screen und tmux gleich mal anschauen. Das Script läuft (auf einem Raspberry Pi) mit Root-Rechten, da python auf verschiedene Schnittstellen (z.B. rs232) zugreifen soll, denen ich noch keine Zugriffsrechte für den "Normalen" pi-nutzer gegeben habe. Hast aber Recht, das muss noch geschehen.
Gestartet wird das Script über eine putty-session.

uname
Beiträge: 12403
Registriert: 03.06.2008 09:33:02

Re: Hintergrundscript stürzt ab, aber wo?

Beitrag von uname » 01.06.2014 22:05:30

RabenFlug hat geschrieben:Gestartet wird das Script über eine putty-session.
Dass du auf deinem PC Windows und kein Debian nutzt ist schade. Für den Fehler ist es aber eher unbedeutend ;-)

Also das ganze sudo-Zeug kannst du vergessen. Da du wahrscheinlich meist als "root" auf dem Pi unterwegs bist kannst du auch als root den Prozess starten. Wenn du per Debianscreen oder Debiantmux startet kannst du das "&" weglassen und die Sitzung einfach detachen.

Benutzeravatar
Dogge
Beiträge: 1899
Registriert: 13.09.2010 11:07:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Hintergrundscript stürzt ab, aber wo?

Beitrag von Dogge » 02.06.2014 09:22:39

Tmux nutze ich auch ganz gerne, auch wenn ich wahrscheinlich nur einen Bruchteil der Funktionen benutze. Vielleicht ist das als kurze Einführung ganz hilfreich: http://www.freiesmagazin.de/mobil/freie ... 14_05_tmux
Debian Testing + Gnome | Linux-Anfänger seit 04/2003
http://files.mdosch.de/2014-07/0xE13D657D.asc

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Hintergrundscript stürzt ab, aber wo?

Beitrag von rendegast » 02.06.2014 10:56:51

Statt
sudo python scriptxyz.py &
vielleicht

Code: Alles auswählen

sudo /bin/sh /pfad/hilfsscript.sh &
mit

Code: Alles auswählen

#!/bin/sh
/usr/bin/python /pfad/scriptxyz.py 2>&1 | tee /pfad/output
Oder stattdessen ein Hilfsscript als cronjob, regelmäßig aufgerufen, am Anfang auf einen laufenden Python-Prozeß testend.
Bei einem Abbruch sollten die Meldungen in einer Mail von cron stehen.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

uname
Beiträge: 12403
Registriert: 03.06.2008 09:33:02

Re: Hintergrundscript stürzt ab, aber wo?

Beitrag von uname » 02.06.2014 11:02:20

Was soll das sudo überhaupt? Werde erst mal root und führe es ohne sudo aus. Vielleicht hilft das schon.

Antworten