SSH: pokračuje příkaz po přerušení spojení?

fotka

  • ***
  • 216
    • Zobrazit profil
    • Linux forum
    • E-mail
SSH: pokračuje příkaz po přerušení spojení?
« kdy: 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
« Poslední změna: 30. 04. 2010, 08:06:13 od Petr Krčmář »
Linux nováček - CeskeForum.com


Jméno

Re: Putty - přerušení spojení
« Odpověď #1 kdy: 30. 04. 2010, 07:02:07 »
Jen pokud nebude reagovat na SIGHUP.

trubico

Re: SSH: pokračuje příkaz po přerušení spojení?
« Odpověď #2 kdy: 30. 04. 2010, 08:10:11 »
jestli chces, aby se dokoncil, tak nejlip pouzivej screen nebo alespon &

fotka

  • ***
  • 216
    • Zobrazit profil
    • Linux forum
    • E-mail
Re: SSH: pokračuje příkaz po přerušení spojení?
« Odpověď #3 kdy: 30. 04. 2010, 08:51:39 »
SIHUPu nerozumím a jak můžu použít ten & a screen?
Linux nováček - CeskeForum.com

Ivo

Re: SSH: pokračuje příkaz po přerušení spojení?
« Odpověď #4 kdy: 30. 04. 2010, 10:10:08 »
Skus prikaz nohup. Napr.:
nohup <nejaky prikaz> &

potom sa mozes odpojit a pobezito dalej.


trubico

Re: SSH: pokračuje příkaz po přerušení spojení?
« Odpověď #5 kdy: 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

JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re: SSH: pokračuje příkaz po přerušení spojení?
« Odpověď #6 kdy: 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??

trubico

Re: SSH: pokračuje příkaz po přerušení spojení?
« Odpověď #7 kdy: 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

Sten

Re: SSH: pokračuje příkaz po přerušení spojení?
« Odpověď #8 kdy: 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.

Re: SSH: pokračuje příkaz po přerušení spojení?
« Odpověď #9 kdy: 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 :)

Martin

Re: SSH: pokračuje příkaz po přerušení spojení?
« Odpověď #10 kdy: 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....