Strona 1 z 1
Serwer Ubuntu - pozostawienie aplikacji w tle
: 22 gru 2008, 22:57
autor: pefrik
Witam!
Niedawno uporałem się z problemem włączenia aplikacji na serwerze Ubuntu. Włączam tą aplikację przez ssh, przez terminal. Na moim laptopie się ona uruchamia, mogę nią sterować, łączyć się z nią z innych komputerów itp. (jest to serwer). Tylko jak zamknę terminal to aplikacja też się zamyka.
Co mam zrobić, żeby ona działała sobie dalej?
Zanalazłem gdzieś, że trzeba dodać po komendzie '&', ale to nie działa, po wyłączeniu terminala aplikacje klienckie już się nie połączą.
Odp: Serwer Ubuntu - pozostawienie aplikacji w tle
: 22 gru 2008, 23:28
autor: dawidgarus
Odp: Serwer Ubuntu - pozostawienie aplikacji w tle
: 23 gru 2008, 17:38
autor: pefrik
Przy próbie wpisania tego orzymuję:
A tego screena to ja nie kumam. Jak włączę jakiś program to nie mam już tego "root@host:~#", więc jak mam jakieś polecenie wpisać np. screen -X serwer?
Odp: Serwer Ubuntu - pozostawienie aplikacji w tle
: 24 gru 2008, 20:53
autor: konrad183
na początku wpisz
sudo apt-get install screen
to polecenie zainstaluje Ci Screen jeśli jeszcze go nie masz
następnie masz manual z Wiki jak używać screen
Przykłady użycia
screen wget
http://example.com/file - rozpocznie pobieranie pliku na screen'ie
screen -ls - podaje listę działających screen'ów zalogowanego użytkownika
screen -r 2345 - przywróci screen o id 2345, który działał w tle
screen -x - jeśli jeden screen działa w tle zostanie przywrócony, w przeciwnym wypadku zostanie podana lista włączonych screenów
kill 2345 - zabije screen o id 2345 i wszystkie programy na nim działające
Odp: Serwer Ubuntu - pozostawienie aplikacji w tle
: 24 gru 2008, 21:00
autor: mateusz16
Kod: Zaznacz cały
screen -S nazwa -md rtorrent <- odpali rtorrent w tle
screen -r nazwa <- wywola rtorrenta odpalonego w tle
Odp: Serwer Ubuntu - pozostawienie aplikacji w tle
: 25 gru 2008, 17:43
autor: 17piotrek
Zacznijmy od tego, że dodanie na końcu polecenia & wywala zadanie w tło ale tylko w trakcie działania terminala. Ma to swoje zastosowanie kiedy chcesz np zrobic dluuugie kopiowanie i w miedzy czasie wykonywac inne polecenia w terminalu. Jesli chcesz uruchomic cos w tle systemu, a nie konsoli to sluzy do tego wlasnie chyba screen.
Odp: Serwer Ubuntu - pozostawienie aplikacji w tle
: 25 gru 2008, 18:24
autor: el.pescado
Zacznijmy od tego, że dodanie na końcu polecenia & wywala zadanie w tło ale tylko w trakcie działania terminala.
Nie do końca tak jest. Podczas zamykania terminala wysyłany jest sygnał SIGHUP do procesów działających w tym terminalu, na który to sygnał procesy zwykle się zamykają. Można zatrzymać ten sygnał używając programu nohup, np:
Odp: Serwer Ubuntu - pozostawienie aplikacji w tle
: 26 gru 2008, 19:36
autor: 17piotrek
El.pescado, tego nie znalem:) W ten sposob mozna kontynuowac dzialanie polecenia wyslanego w tlo mimo zamkniecia terminala?
Odp: Serwer Ubuntu - pozostawienie aplikacji w tle
: 26 gru 2008, 22:13
autor: pefrik
Nadal mi nie działa :/ Dodam, że jest to aplikacja okienkowa, więc może przez to?
Robie kolejno takie rzeczy:
-loguje się przez ssh na serwer
-odpalam program "screen -S serwer -md /home/pefrik/serwer"
i pojawia mi się okienko owego programu. Włączam serwer odpowiednim przyciskiem i śmiga. Screen widzi, że jest uruchomiony ten program w tle. I teraz co mam zrobić? Po prostu zamknąć terminal czy coś jeszcze wpisać? Przy zamknięciu i ponownym zalogowaniu screen już nie widzi żadnych aplikacji pozostawionych w tle, a programy nie łączą się z moim programem-serwerem.
Odp: Serwer Ubuntu - pozostawienie aplikacji w tle
: 26 gru 2008, 22:15
autor: karmelek
Przed wyjsciem mozesz uzyc skrotu ctrl+a+d aby "schowac" aplikacje
Odp: Serwer Ubuntu - pozostawienie aplikacji w tle
: 26 gru 2008, 22:17
autor: leon1313
nohup
nazwa_aplikacji &
przykład:
test.sh to nazwa programu
Odp: Serwer Ubuntu - pozostawienie aplikacji w tle
: 26 gru 2008, 23:36
autor: pefrik
No już nie mam pojęcia co robić :/
Przy "screen -ls" otrzymuję:
Kod: Zaznacz cały
There is a screen on:
26456.serwer (Detached)
1 Socket in /var/run/screen/S-root.
A mimo to program mi się zamyka po wyłączeniu terminala >(
Z nohup to samo. Próba schowania przy pomocy "ctrl+a+d" również nie wypaliła. Trzymałem tą kombinację z 2 minuty i nic. W ogóle baaardzo dużo czasu minie zanim do mojego kompa dotrze jakaś zmiana. :/
Czy możliwe jest, że jest jakaś blokada na aplikacje w tle? To by było dziwne, bo FTP działa niezależnie czy jestem zalogowany, czy nie.
Odp: Serwer Ubuntu - pozostawienie aplikacji w tle
: 26 gru 2008, 23:45
autor: leon1313
Zaraz, jeśli to jest aplikacja, która wykorzystuje "grafikę", to masz problem. Nie spotkałem się ( czytaj: pewnie jest , ale ja nie wiem o tym) z opcja przekierowania okna na inny screen. Winowosowy terminal pozwala na uruchomienie aplikacji w tle na zdalnym komputerze, przechwytujecału pulpit. Może warto wypróbować XDMCP:
http://en.wikipedia.org/wiki/XDMCP
Ciężko wyczuć.....
Odp: Serwer Ubuntu - pozostawienie aplikacji w tle
: 27 gru 2008, 00:16
autor: el.pescado
Nadal mi nie działa :/ Dodam, że jest to aplikacja okienkowa, więc może przez to?
Na 99% przez to. W przypadku okienek, na lokalnym komputerze masz uruchomiony serwer X11, który wyświetla okienka. Uruchamiając zdalnie aplikację, nawiązuje ona połączenie (poprzez tunel ssh) z twoim serwerem X11, żeby wyświetlić swoje okienka. Zamykając terminal, zamykasz też połączenie X11, przez co zdalna aplikacja pada.
Żeby się móc "podłączać"/"odłączać" od zdalnej sesji podobnie jak w wypadku screena, tylko graficznie, możesz wykorzystać VNC, ewentualnie NX, ale tego nie jestem już pewien.
Odp: Serwer Ubuntu - pozostawienie aplikacji w tle
: 27 gru 2008, 18:41
autor: pefrik
No dobra, dzięki wielkie za pomoc

To może spróbuje napisać ten serwer w C++(eee chyba troche przeginam

), wtedy może ominę te przeszkody.
EDIT:
Sorki, że dwa posty pod rząd, ale chciałem napisać, że już jest wszystko ok
Wystarczyło utworzyć projekt "komendowy"(bez takich bajerów jak froma, przyciski itd.) i wszystko poszło. Piszę tak dla tych, którzy zmagali się lub będą się zmagać z podobnym problemem.
Jeszcze raz dzięki za pomoc, naprowadziliście mnie na dobrą drogę
