Strona 1 z 1

Skrypt Pythona działający ciągle w tle

: 06 grudnia 2011, 13:38
autor: grzesiekp
Witam serdecznie,
mam sobie napisany skrypt w Pythonie, który czyta nowo dopisane linie do lodu Dansguardiana i wrzuca je po obróbce do bazy MySQL. Chciałbym aby ten skrypt działał cały czas, bez przerwy, nawet gdy się wyloguję.
Próbowałem:

Kod: Zaznacz cały

nohup python skrypt.py &
Ale po wylogowaniu skrypt jest zabijany.
Jak mogę go "zdemonizować" albo jeszcze jakoś inaczej go uruchomić, aby działał w tle?

Pozdrawiam,
Grzesiek

: 07 grudnia 2011, 19:00
autor: Bastian
Są 2 rozwiązania:

- demonizujesz skrypt - będzie działał w pamięci jako proces

- odpalasz skrypt w screenie

: 07 grudnia 2011, 19:16
autor: grzesiekp
Wiem, że mogę zdemonizować, tylko nie bardzo wiem JAK i takie było pytanie na początku wątku.

: 07 grudnia 2011, 22:23
autor: Bastian
Niestety, jak to Ci nie odpowiem, bo nie znam pythona, i jesli Ty też nie znasz to raczej tego nie zrobisz. Pozostaje screen.

: 10 grudnia 2011, 14:30
autor: Czocher
A tradycyjny sposób postaci:

Kod: Zaznacz cały

a = fork();
if(a>0) return;
else if(a==0)
{
rób to w tle;
}
Nie działa? Oczywiście to tylko sama idea w kodzie C-podobnym, ale z tego co wiem w Pythonie jest podobnie - tworzysz nowy proces potomny, kończysz rodzica a proces potomny działa sobie dalej wesoło w tle nie zajmując terminala.