Fórum Root.cz

Hlavní témata => Server => Téma založeno: fotka 30. 04. 2010, 02:33:45

Název: SSH: pokračuje příkaz po přerušení spojení?
Přispěvatel: fotka 30. 04. 2010, 02:33:45
Ahoj,

chtěl bych jen potvrdit mojí doměnku že pokud jsem připojen k serveru přes Putty a selže mi při vykonávání nějakého příkazu připojení k internetu tak ten příkaz se stejně sám dokončí na serveru?

děkuji
Název: Re: Putty - přerušení spojení
Přispěvatel: Jméno 30. 04. 2010, 07:02:07
Jen pokud nebude reagovat na SIGHUP.
Název: Re: SSH: pokračuje příkaz po přerušení spojení?
Přispěvatel: trubico 30. 04. 2010, 08:10:11
jestli chces, aby se dokoncil, tak nejlip pouzivej screen nebo alespon &
Název: Re: SSH: pokračuje příkaz po přerušení spojení?
Přispěvatel: fotka 30. 04. 2010, 08:51:39
SIHUPu nerozumím a jak můžu použít ten & a screen?
Název: Re: SSH: pokračuje příkaz po přerušení spojení?
Přispěvatel: Ivo 30. 04. 2010, 10:10:08
Skus prikaz nohup. Napr.:
nohup <nejaky prikaz> &

potom sa mozes odpojit a pobezito dalej.
Název: Re: SSH: pokračuje příkaz po přerušení spojení?
Přispěvatel: trubico 30. 04. 2010, 10:17:34
ten nohup vetsinou neni potreba, ale radsi si to vyzkousej
staci tedy: muj_slozity_prikaz &>soubor_s_vystupem &

screen je promakanejsi, kdyz se odpojis a zase pripojis, tak se tvari, jako ze se nic nestalo :)

pustis screen
pak tvuj_prikaz
pak se muzes odpojt ctrl+a+d a zrusit ssh, nebo ssh zatuhne

tak udelas ssh znovu a das screen -d -r a jsi, kde jsi byl predtim

doporucuji nejaky tutorial screen, abys vedel, jaky zkratky pouziva
Název: Re: SSH: pokračuje příkaz po přerušení spojení?
Přispěvatel: JardaP . 30. 04. 2010, 10:46:30
BNW, co se stane, kdyz se pripojim pres ssh, pustim si screen, pustim svuj slozity prikaz a pak spadne spojeni bez toho, ze bych se ve screenu odpojil od konzole??
Název: Re: SSH: pokračuje příkaz po přerušení spojení?
Přispěvatel: trubico 30. 04. 2010, 11:02:24
screen i prikaz bezi dal, akurat si pamatuje, ze si se neodpojil

proto radim screen -d -r (detach + reconect), kterej to stary (mrtvy nebo zivy, ale z jinyho pocitace treba) spojeni zrusi

pokud si se odpojil, tak funguje taky
Název: Re: SSH: pokračuje příkaz po přerušení spojení?
Přispěvatel: Sten 30. 04. 2010, 13:14:34
BNW, co se stane, kdyz se pripojim pres ssh, pustim si screen, pustim svuj slozity prikaz a pak spadne spojeni bez toho, ze bych se ve screenu odpojil od konzole??

Podle situace. Pokud SSH shodí spojení, pak je screen odpojený (SSH vyhodí SIGHUP a screen se odpojí). Pokud však SSH zatuhne (třeba čeká na nějaký timeout), pak se screen stále tváří jako připojený a je nutné jej přimět se odpojit pomocí -d.
Název: Re: SSH: pokračuje příkaz po přerušení spojení?
Přispěvatel: Ondřej Caletka 30. 04. 2010, 17:45:37
Podle situace. Pokud SSH shodí spojení, pak je screen odpojený (SSH vyhodí SIGHUP a screen se odpojí). Pokud však SSH zatuhne (třeba čeká na nějaký timeout), pak se screen stále tváří jako připojený a je nutné jej přimět se odpojit pomocí -d.
Ano, tohle je důležité i vzhledem k odpovědi na původní otázku. SSH totiž by default neposílá žádné keepalive pakety*, takže když klient v tichosti zmizí (například vytažením kabelu z počítače) a zároveň příkaz spuštěný přes SSH neprodukuje žádný výstup, který by se server snažil doručit klientovi, pak SSH server nemá žádnou šanci zjistit, že klient zmizel a spojení se vede stále jako navázané.

*) Ve skutečnosti by default posílá TCP Keepalive pakety, pomocí volby soketu SO_KEEPALIVE. Tato volba ale posílá keepalive jednou za dvě hodiny, což je něco jako vůbec :)
Název: Re: SSH: pokračuje příkaz po přerušení spojení?
Přispěvatel: Martin 30. 04. 2010, 21:25:35
No človeče, nic osobního, ale doporučuju aby ses o žádný server nestaral, nebo si strašně nabiješ ústa... Nejen že neznáš základy UN*Xu - procesy a jejich vztahy, základní příkazy a BASH, ale jsi dokonce tak líný, že ani nedokážeš zeptat se strejdy googla....