Portál AbcLinuxu, 10. května 2025 04:46

Dotaz: Spuštění programu přez ssh příkaz versus script

20.12.2012 01:46 Pavel Matějovský
Spuštění programu přez ssh příkaz versus script
Přečteno: 1335×
Odpovědět | Admin
Mám problém se spuštěním vlastní aplikace na vzdáleném počítači s OS Slackware 12.2 pomocí lokálního shell scriptu v téže verzi OS. Když napíši tentýž příkaz do shellu, tak se aplikace na vzdáleném stroji spustí, viz prikaz:

ssh root@vzdalenaip '/home/user/adresar/aplikace' ,

pokud tentýž příkaz použiji v shell scriptu, tak se spuštění aplikace neprovede a shell zůstane viset. Aplikace si čte z rozhrani sériového portu /dev/ttyS0 data a posílá je na vzdálené PC, z kterého potřebuji shell scriptem ji restartovat. Poradí mi někdo, v čem by mohl být problém?

Řešení dotazu:


Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

20.12.2012 01:58 scott | skóre: 15
Rozbalit Rozbalit vše Re: Spuštění programu přez ssh příkaz versus script
Odpovědět | | Sbalit | Link | Blokovat | Admin
Neni to nahodou tim, ze se musi zadat jeste heslo k SSH pristupu? Nebo mas vygenerovany klice? Zkusil bych do skriptu pridat radek, ktery rourou presmeruje chybovy vystup do souboru a ten soubor zkontrolovat.
20.12.2012 03:46 Pavel Matějovský
Rozbalit Rozbalit vše Re: Spuštění programu přez ssh příkaz versus script
Mám vygenerované klíče, aplikace žádný chybový výstup negeneruje a při zadání bash -x spust.sh se provedou i příkazy pro zabití procesů na vzdáleném stroji, ale za aplikací to stojí a na exit 0, což je poslední příkaz se již nedostane, viz obsah scriptu:
#!/bin/bash
ssh root@10.28.10.21 'killall proces1'
#provede se
ssh root@10.28.10.21 'killall proces2'
#provede se
ssh root@10.28.10.21 '/home/uzivatel/proces2'
#Zde to zustava viset, proces2 se nezavede
exit 0
Jendа avatar 20.12.2012 04:01 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Spuštění programu přez ssh příkaz versus script
ssh -vvv

Nevyžaduje proces2 TTY allocation? Viz parametry -t a -tt (open)ssh klienta.
21.12.2012 21:32 Pavel Matějovský
Rozbalit Rozbalit vše Re: Spuštění programu přez ssh příkaz versus script
Děkuji za odpovědi a dosavadní pomoc, zároveň se omlouvám za odmlčení díky tomu že strojové vybavení nemám stále u sebe. Při použití ssh -vvv se zavedení procesu proces2 provede,tak se omlouvám za předchozí tvrzení, že se nespustí. Pak shell script zamrzne, posílám poslední debug kroky

ve scriptu je:
ssh -vvv user@10.28.10.21 '/home/user/proces2'

debug2: callback start
debug2: client_session2_setup: id 0
debug1: Sending command: /home/user/proces2
debug2: channel 0: request exec confirm 1
debug2: fd 3 setting TCP_NODELAY
debug2: callback done
debug2: channel 0: open confirm rwindow 0 rmax 32768
debug2: channel 0: rcvd adjust 2097152
debug2: channel_input_confirm: type 99 id 0
debug2: exec request accepted on channel 0

při použití

ssh -tt je výpis stejný a také to zamrzne ve stejném místě

debug2: client_session2_setup: id 0
debug1: Sending command: /home/user/proces2
debug2: channel 0: request exec confirm 1
debug2: fd 3 setting TCP_NODELAY
debug2: callback done
debug2: channel 0: open confirm rwindow 0 rmax 32768
debug2: channel 0: rcvd adjust 2097152
debug2: channel_input_confirm: type 99 id 0
debug2: exec request accepted on channel 0

Dokud běží proces2, tak se shell neukončí,
ale nevím jak to udělat, aby shell nečekal na jeho dokončení,
neporadil by jste mi někdo, jak na to, předem moc děkuji za odpovědi

Řešení 1× (Pavel Matějovský (tazatel))
Jendа avatar 22.12.2012 01:58 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Spuštění programu přez ssh příkaz versus script
No jestli je problém v tom, že to SSH i se skriptem vevnitř neskončí, tak se dá upozadit přidáním & na konec.
ssh root@stroj "příkaz" &
Řešení 1× (Pavel Matějovský (tazatel))
23.12.2012 13:39 Pavel Matějovský
Rozbalit Rozbalit vše Re: Spuštění programu přez ssh příkaz versus script
použití
ssh root@10.28.10.21 "/home/user/proces2" &
skutečně funguje. Děkuji moc uživateli Jenda za vydatnou pomoc a vyřešení problému, s pozdravem matepa :):):)
23.12.2012 17:15 l4m4
Rozbalit Rozbalit vše Re: Spuštění programu přez ssh příkaz versus script
ssh -f, až to budeš jednou potřebovat opravdu vyřešeno...
Jendа avatar 20.12.2012 01:59 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Spuštění programu přez ssh příkaz versus script
Odpovědět | | Sbalit | Link | Blokovat | Admin
Spusť skript příkazem bash -x, uvidíš, na čem to visí.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.