Automatyczne odpalanie procesu po jego zamknieciu
-
- Sędziwy Jeż
- Posty: 43
- Rejestracja: 31 gru 2011, 13:41
- Płeć: Mężczyzna
- Wersja Ubuntu: 16.04
- Środowisko graficzne: Unity
- Kontakt:
Automatyczne odpalanie procesu po jego zamknieciu
Witam, poszukuje jakiegoś narzędzia czy czegoś takiego co by sprawdzało czy dany proces jest uruchomiony i w razie jego braku odpalał go. Pod windowsa jest to aplikacja o nazwie Application Monitor, czy coś takiego jest pod linuxa? Ew np za pomocą crona można by było sprawdzać czy aplikacja/proces jest odpalony i jeśli nie to go odpalać?
Ostatnio zmieniony 05 maja 2013, 20:17 przez wujeksamozuo, łącznie zmieniany 1 raz.
-
- Wytworny Kaczor
- Posty: 470
- Rejestracja: 30 mar 2009, 18:00
- Płeć: Mężczyzna
- Wersja Ubuntu: inny OS
- Środowisko graficzne: MATE
- Architektura: ARM
Re: Automatyczne odpalanie procesu po jego zamknieciu
* * * * * - cron co minutę lub ustawić jak się chce
CHECK=`pidof -x nazwa_aplikacji`
[ ! -z $CHECK ] || /ścieżka/do_aplikacji
CHECK=`pidof -x nazwa_aplikacji`
[ ! -z $CHECK ] || /ścieżka/do_aplikacji
-
- Sędziwy Jeż
- Posty: 43
- Rejestracja: 31 gru 2011, 13:41
- Płeć: Mężczyzna
- Wersja Ubuntu: 16.04
- Środowisko graficzne: Unity
- Kontakt:
Re: Automatyczne odpalanie procesu po jego zamknieciu
No w cronie to wiem a odnosnie tego CHEK to gdzie to wpisac ?
- ethanak
- Wygnańcy
- Posty: 3054
- Rejestracja: 04 gru 2007, 13:19
- Płeć: Mężczyzna
- Wersja Ubuntu: 12.04
- Środowisko graficzne: GNOME
- Architektura: x86
- Lokalizacja: Bielsko-Biała
- Kontakt:
Re: Automatyczne odpalanie procesu po jego zamknieciu
jeśli aplikacja nie zwalnia terminala można inaczej:
z crona co minutę albo nawet odpalić skrypt
Kod: Zaznacz cały
flock -en /jakis/plik.lock /twoja/aplikacja
Kod: Zaznacz cały
while true;do /twoja aplikacja; sleep 1;done
-
- Sędziwy Jeż
- Posty: 43
- Rejestracja: 31 gru 2011, 13:41
- Płeć: Mężczyzna
- Wersja Ubuntu: 16.04
- Środowisko graficzne: Unity
- Kontakt:
Re: Automatyczne odpalanie procesu po jego zamknieciu
Po odpaleniu aplikacji terminal moge zamknąć więc pierwszy sposób odpada co do 2 to chce sie upewnić mam spisać:
I to spowoduje ze co minute bedzie sprawdzane przez crona czy aplikacja jest odpalona a jak nie to ja odpali?
Jako aplikacje podaje ścieżke do niej, czy moze to być także skrypt? chodzi o to ze u mnie aplikaja jest odpalana ze skryptu. -> ./start
Kod: Zaznacz cały
while true;do /twoja aplikacja; sleep 1;done
Jako aplikacje podaje ścieżke do niej, czy moze to być także skrypt? chodzi o to ze u mnie aplikaja jest odpalana ze skryptu. -> ./start
- ethanak
- Wygnańcy
- Posty: 3054
- Rejestracja: 04 gru 2007, 13:19
- Płeć: Mężczyzna
- Wersja Ubuntu: 12.04
- Środowisko graficzne: GNOME
- Architektura: x86
- Lokalizacja: Bielsko-Biała
- Kontakt:
Re: Automatyczne odpalanie procesu po jego zamknieciu
jeśli aplikacja zwalnia terminal drugi sposób również odpada. można wiedzieć co to za tajemnicza aplikacja? bo może jakiś najlepszy sposób się znajdzie...
-
- Sędziwy Jeż
- Posty: 43
- Rejestracja: 31 gru 2011, 13:41
- Płeć: Mężczyzna
- Wersja Ubuntu: 16.04
- Środowisko graficzne: Unity
- Kontakt:
Re: Automatyczne odpalanie procesu po jego zamknieciu
Jest to serwer czatowy + podłaczenie do mysql (baza nickow i uprawnien)
- ethanak
- Wygnańcy
- Posty: 3054
- Rejestracja: 04 gru 2007, 13:19
- Płeć: Mężczyzna
- Wersja Ubuntu: 12.04
- Środowisko graficzne: GNOME
- Architektura: x86
- Lokalizacja: Bielsko-Biała
- Kontakt:
Re: Automatyczne odpalanie procesu po jego zamknieciu
sprawdź czy w opcjach nie ma czegoś w stylu "dont daemonize" albo jakoś tak. jeśli jest oba moje sposoby będą działać.
-
- Sędziwy Jeż
- Posty: 43
- Rejestracja: 31 gru 2011, 13:41
- Płeć: Mężczyzna
- Wersja Ubuntu: 16.04
- Środowisko graficzne: Unity
- Kontakt:
Re: Automatyczne odpalanie procesu po jego zamknieciu
W opcjach? tu nie ma nic takiego, mam katalog z likami gdzie uruchamiany jest 1 - serwer inne to konfiguracyjne i logi. Nie mam do tego zadnej konsolki, jedynie instrukcje w pdf
- ethanak
- Wygnańcy
- Posty: 3054
- Rejestracja: 04 gru 2007, 13:19
- Płeć: Mężczyzna
- Wersja Ubuntu: 12.04
- Środowisko graficzne: GNOME
- Architektura: x86
- Lokalizacja: Bielsko-Biała
- Kontakt:
Re: Automatyczne odpalanie procesu po jego zamknieciu
no to sprawdź w tej instrukcji... albo odpal aplikację z -h czy --help, może coś mądrego z siebie wydzieli.
-
- Przebojowy Jelonek
- Posty: 1113
- Rejestracja: 04 sty 2008, 20:58
- Płeć: Mężczyzna
- Wersja Ubuntu: inny OS
- Środowisko graficzne: Inne
- Architektura: x86_64
Re: Automatyczne odpalanie procesu po jego zamknieciu
@wujeksamozuo
Może inaczej.
1. Utwórz sobie zmienną globalną, która będzie trzymać PID procesu dodając odpowiedni wpis np. do ~/.bashrc
2. Napisz launcher do programu, który przechwyci PID procesu (u mnie to będzie dla przykładu Thunderbird)
3. Teraz zmienna $th_pid trzyma PID Thunderbirda. Wystarczy co jakiś czas sprawdzać, czy istnieje taki proces:
Jak zwróci 1, to proces nie żyje i można go zrestartować.
Jak zwróci 2, to proces żyje i nie trzeba nic robić.
Teraz wystarczy opakować powyższe w jakiś zgrabny skrypt, dorzucić do crona jego cykliczne uruchamianie i sprawdzić działanie.
Powodzenia
Może inaczej.
1. Utwórz sobie zmienną globalną, która będzie trzymać PID procesu dodając odpowiedni wpis np. do ~/.bashrc
Kod: Zaznacz cały
export th_pid=''
Kod: Zaznacz cały
#!/bin/sh
thunderbird & th_pid=$!
Kod: Zaznacz cały
ps aux | grep $th_pid | wc -l
Jak zwróci 2, to proces żyje i nie trzeba nic robić.
Teraz wystarczy opakować powyższe w jakiś zgrabny skrypt, dorzucić do crona jego cykliczne uruchamianie i sprawdzić działanie.
Powodzenia

-
- Sędziwy Jeż
- Posty: 43
- Rejestracja: 31 gru 2011, 13:41
- Płeć: Mężczyzna
- Wersja Ubuntu: 16.04
- Środowisko graficzne: Unity
- Kontakt:
Re: Automatyczne odpalanie procesu po jego zamknieciu
Norvoles to wyglada zgrabnie aczkolwiek jest maly haczyk, proces przy kazdym uruchomieniu ma inny pid
-
- Przebojowy Jelonek
- Posty: 1113
- Rejestracja: 04 sty 2008, 20:58
- Płeć: Mężczyzna
- Wersja Ubuntu: inny OS
- Środowisko graficzne: Inne
- Architektura: x86_64
Re: Automatyczne odpalanie procesu po jego zamknieciu
I za każdym razem gdy uruchomisz lub zrestartujesz program za pomocą podanego skryptu, zmienna $th_pid będzie zawierać aktualny PID.wujeksamozuo pisze:Norvoles to wyglada zgrabnie aczkolwiek jest maly haczyk, proces przy kazdym uruchomieniu ma inny pid
-
- Zakręcona Traszka
- Posty: 574
- Rejestracja: 25 maja 2011, 10:17
- Płeć: Mężczyzna
- Wersja Ubuntu: 11.04
- Środowisko graficzne: GNOME
- Architektura: x86_64
Re: Automatyczne odpalanie procesu po jego zamknieciu
Sugeruję poczytac o tym co to jest respawn.
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 15 gości