Terminal sam się zamyka

0

Witam,
Mam pewien problem z moim skryptem, uruchomionym na Raspberry (jeżeli to ma znaczenie).
Sprawa wygląda tak, że jest to prosty program, uruchamiany przez skrypt bashowy przy starcie systemu.
Przy zamknięciu programu zostaje on przez ów skrypt uruchomiony po trzech sekundach.

#!/bin/bash

cd /home/asd

while sleep 3 ; do
	sudo python3 python_script.py
done

Dokładnie mówiąc rozumiem, że czasami mój pythonowy skrypt może się wysypać, od tego mam ten skrypt bashowy żeby podniósł go od nowa.
Jednak z jakiegoś powodu co jakiś czas gdy uruchamiam Raspberry terminal jest zamknięty, co wskazuje, że również z jakiegoś powodu zamyka się skrypt bashowy.
Nie wiem jak do tego dochodzi i jak tego uniknąć.
Z góry dziękuję za pomoc ;)

1

Trzeba by chyba być wróżką, ale musi być to sudo, czy program zawsze ma uprawnienia?

0

sudo musi być z tego powodu, że pythonowy skrypt używa biblioteki która wymaga takich uprawnień.
Nie wiem co jeszcze mogę dodać żeby lepiej naświetlić problem. Najbardziej nie rozumiem jak bashowy skrypt może się zamykać sam z siebie.

0

Skrypt zawsze ma uprawnienia sudo?

0
lion137 napisał(a):

Skrypt zawsze ma uprawnienia sudo?

Tak.

2

Uruchom swój skrypt bashowy w tle i odepnij go od powłoki :P
Czyli:

./script.sh &
disown %1

po zamknięciu terminala program powinien dalej hulać.

0

Może zrób sobie usługę systemd?

Np. dla skryptu node.js:

ścieżka /home/user/.config/systemd/user/mynodescript.service (dla użytkownika "user")

[Unit]
Description=Moja super usługa

[Service]
WorkingDirectory=/home/user/
Restart=on-failure
ExecStart=/home/user/node-v10.15.3-linux-x64/bin/node mynode.js

[Install]
WantedBy=multi-user.target

Potem:
systemctl --user enable mynodescript.service
systemctl --user start mynodescript.service
systemctl --user status mynodescript.service

To jest przykład usługi którą może sobie zrobić i zarządzać nią użytkownik bez roota

0

Mam pewien problem z moim skryptem, uruchomionym na Raspberry (jeżeli to ma znaczenie).

Na Raspberry Pi się nie znam (o ile to to), ale domyślam się, że może obsługiwać wiele systemów operacyjnych. Podstawowe zastrzeżenie: nie wiem, jak jest u Ciebie.

Terminal sam się zamyka
Mam pewien problem z moim skryptem

To mogą być niepowiązane rzeczy, a piszesz, jakbyś już wiedział, że zamykanie się terminala wynika z problemu ze skryptem. Jesteś pewien?

Przy zamknięciu programu zostaje on przez ów skrypt uruchomiony po trzech sekundach.

Przy zamknięciu jakiego programu?

Dokładnie mówiąc rozumiem, że czasami mój pythonowy skrypt może się wysypać, od tego mam ten skrypt bashowy żeby podniósł go od nowa.

Tego nie rozumiem.

Jednak z jakiegoś powodu co jakiś czas gdy uruchamiam Raspberry terminal jest zamknięty, co wskazuje, że również z jakiegoś powodu zamyka się skrypt bashowy.

To skrypt bashowy jest uruchamiany przy starcie systemu, czy przy zamknięciu wspomnianego programu? To może być ten sam moment, ale może również nie być, dlatego pytam.

1 użytkowników online, w tym zalogowanych: 0, gości: 1