Serwer Ubuntu - pozostawienie aplikacji w tle

Instalacja i konfiguracja oprogramowania sieciowego.
pefrik
Piegowaty Guziec
Piegowaty Guziec
Posty: 12
Rejestracja: 13 lis 2008, 23:55
Płeć: Mężczyzna
Wersja Ubuntu: 8.10
Środowisko graficzne: GNOME

Serwer Ubuntu - pozostawienie aplikacji w tle

Post 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ą.
dawidgarus
Wytworny Kaczor
Wytworny Kaczor
Posty: 418
Rejestracja: 09 lut 2007, 23:17
Płeć: Mężczyzna
Wersja Ubuntu: 9.10
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Odp: Serwer Ubuntu - pozostawienie aplikacji w tle

Post autor: dawidgarus »

pefrik
Piegowaty Guziec
Piegowaty Guziec
Posty: 12
Rejestracja: 13 lis 2008, 23:55
Płeć: Mężczyzna
Wersja Ubuntu: 8.10
Środowisko graficzne: GNOME

Odp: Serwer Ubuntu - pozostawienie aplikacji w tle

Post autor: pefrik »

Przy próbie wpisania tego orzymuję:

Kod: Zaznacz cały

-bash: man: command not found
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?
konrad183
Piegowaty Guziec
Piegowaty Guziec
Posty: 13
Rejestracja: 31 lip 2008, 23:41
Płeć: Mężczyzna
Wersja Ubuntu: 7.10

Odp: Serwer Ubuntu - pozostawienie aplikacji w tle

Post 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
Awatar użytkownika
mateusz16
Sędziwy Jeż
Sędziwy Jeż
Posty: 70
Rejestracja: 04 wrz 2007, 19:44
Płeć: Mężczyzna
Wersja Ubuntu: 9.04
Środowisko graficzne: KDE Plasma
Architektura: x86
Kontakt:

Odp: Serwer Ubuntu - pozostawienie aplikacji w tle

Post autor: mateusz16 »

Kod: Zaznacz cały

screen -S nazwa -md rtorrent          <- odpali rtorrent w tle
screen -r nazwa                                      <- wywola rtorrenta odpalonego w tle
17piotrek

Odp: Serwer Ubuntu - pozostawienie aplikacji w tle

Post 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.
Awatar użytkownika
el.pescado
Zakręcona Traszka
Zakręcona Traszka
Posty: 734
Rejestracja: 26 maja 2005, 11:43
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Odp: Serwer Ubuntu - pozostawienie aplikacji w tle

Post 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:

Kod: Zaznacz cały

nohup wget http://cośtam.com/ &
17piotrek

Odp: Serwer Ubuntu - pozostawienie aplikacji w tle

Post autor: 17piotrek »

El.pescado, tego nie znalem:) W ten sposob mozna kontynuowac dzialanie polecenia wyslanego w tlo mimo zamkniecia terminala?
pefrik
Piegowaty Guziec
Piegowaty Guziec
Posty: 12
Rejestracja: 13 lis 2008, 23:55
Płeć: Mężczyzna
Wersja Ubuntu: 8.10
Środowisko graficzne: GNOME

Odp: Serwer Ubuntu - pozostawienie aplikacji w tle

Post 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.
Awatar użytkownika
karmelek
Przyjaciel
Przyjaciel
Posty: 883
Rejestracja: 10 lut 2007, 17:45
Płeć: Mężczyzna
Wersja Ubuntu: 11.04
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Odp: Serwer Ubuntu - pozostawienie aplikacji w tle

Post autor: karmelek »

Przed wyjsciem mozesz uzyc skrotu ctrl+a+d aby "schowac" aplikacje
Wszystkich moderatorów Bóg po śmierci zabiera do nieba, żeby ci dwadzieścia cztery godziny na dobę moderowali modlitwy do niego.
http://karmelek.wordpress.com
inny OS=debian lenny
Awatar użytkownika
leon1313
Zakręcona Traszka
Zakręcona Traszka
Posty: 668
Rejestracja: 02 sty 2006, 19:35
Płeć: Mężczyzna
Wersja Ubuntu: 10.10
Środowisko graficzne: KDE Plasma
Architektura: x86

Odp: Serwer Ubuntu - pozostawienie aplikacji w tle

Post autor: leon1313 »

nohup nazwa_aplikacji &
przykład:

Kod: Zaznacz cały

nohup test.sh&
test.sh to nazwa programu
"Poza tym dostałeś PLONKa i zabraniam Ci pisać na te grupe!!! Powiedziałem PLONK i sie zamknij i nawet nie knuj rzeby mi odpisywać! Zabraniam!!!"
pefrik
Piegowaty Guziec
Piegowaty Guziec
Posty: 12
Rejestracja: 13 lis 2008, 23:55
Płeć: Mężczyzna
Wersja Ubuntu: 8.10
Środowisko graficzne: GNOME

Odp: Serwer Ubuntu - pozostawienie aplikacji w tle

Post 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.
Awatar użytkownika
leon1313
Zakręcona Traszka
Zakręcona Traszka
Posty: 668
Rejestracja: 02 sty 2006, 19:35
Płeć: Mężczyzna
Wersja Ubuntu: 10.10
Środowisko graficzne: KDE Plasma
Architektura: x86

Odp: Serwer Ubuntu - pozostawienie aplikacji w tle

Post 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ć.....
"Poza tym dostałeś PLONKa i zabraniam Ci pisać na te grupe!!! Powiedziałem PLONK i sie zamknij i nawet nie knuj rzeby mi odpisywać! Zabraniam!!!"
Awatar użytkownika
el.pescado
Zakręcona Traszka
Zakręcona Traszka
Posty: 734
Rejestracja: 26 maja 2005, 11:43
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Odp: Serwer Ubuntu - pozostawienie aplikacji w tle

Post 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.
pefrik
Piegowaty Guziec
Piegowaty Guziec
Posty: 12
Rejestracja: 13 lis 2008, 23:55
Płeć: Mężczyzna
Wersja Ubuntu: 8.10
Środowisko graficzne: GNOME

Odp: Serwer Ubuntu - pozostawienie aplikacji w tle

Post autor: pefrik »

No dobra, dzięki wielkie za pomoc ;-)
To może spróbuje napisać ten serwer w C++(eee chyba troche przeginam :-P), 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ę ;-)
ODPOWIEDZ

Wróć do „Sieci, serwery, Internet”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 16 gości