Forum » Programiranje » [Bash] remote izvajanje ukazov prek ssh
[Bash] remote izvajanje ukazov prek ssh
ta-mau ::
Zanima me zakaj spodnji ukaz deluje na random.. Včasih deamona požene včasih ne...
ssh -t host "sudo /etc/local/sbin/gmond"
Pred tem ukazom je bila komanda ki se je izvajala lokalno. Ko sem jo odstranil je bilo število uspešnih poskusov večje, vendar še vedno pri nekaterih se ukaz ni izvedel..
Je morda še kakšna druga opcija kako lahko oddaljeno izvajam ukaze?
ssh -t host "sudo /etc/local/sbin/gmond"
Pred tem ukazom je bila komanda ki se je izvajala lokalno. Ko sem jo odstranil je bilo število uspešnih poskusov večje, vendar še vedno pri nekaterih se ukaz ni izvedel..
Je morda še kakšna druga opcija kako lahko oddaljeno izvajam ukaze?
ta-mau ::
Uf to pa pomoje ne bo tako simpl za razvozlat.. Razlika med uspešnim zagonom gmonda in neuspešnim je samo v zamenjavi spodnjih blokov:
Če se gmond uspešno zažene velja zaporedje blok1,blok2.. v nasprotnem primeru se blok 1 izvede za blokom 2 in zagon ne uspe.. Tak pattern se pojavlja pri najmanj treh takih primerjavah... Ostale procedure so identične razen pač naslovov strežnikov in pa kripto parametrov..
Blok 1........... debug2: channel 0: rcvd eof debug2: channel 0: output open -> drain debug2: channel 0: obuf empty debug2: channel 0: close_write debug2: channel 0: output drain -> closed
Blok 2............. debug1: client_input_channel_req: channel 0 rtype exit-status reply 0 debug1: client_input_channel_req: channel 0 rtype eow@openssh.com reply 0 debug2: channel 0: rcvd eow debug2: channel 0: close_read debug2: channel 0: input open -> closed
Če se gmond uspešno zažene velja zaporedje blok1,blok2.. v nasprotnem primeru se blok 1 izvede za blokom 2 in zagon ne uspe.. Tak pattern se pojavlja pri najmanj treh takih primerjavah... Ostale procedure so identične razen pač naslovov strežnikov in pa kripto parametrov..
jype ::
Vrstica
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
pomeni, da ti je remote proces exitnu, mogoče zato, ker enak proces tam že teče in se noče zagnat še enkrat?
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
pomeni, da ti je remote proces exitnu, mogoče zato, ker enak proces tam že teče in se noče zagnat še enkrat?
ta-mau ::
Preden ga grem ponovno zaganjat ga pregledam s ps da zagotovo ne teče, tako da najbrž ne bo to vzrok..
ta-mau ::
Sklepam da se pri prvem ukazu ustvarijo dva procesa, kjer se v childu izvaja zagon gmonda, očitno pa najbrž nastane težave ker status gmonda ni upoštevan pri parentu? Stvar sem rešil tako da zaganjanje demona prepustim ukazu service, ki stvar pravilno forka in nov child proces nadomesti z gmondom (exec ukaz).
Torej prva rešitev je : ssh -t host "sudo service gmond"
Druga rešitev pa je lahko tudi z ukazom nohup, ki bi v tem primeru ignorirala signal starša sighup in bi proces, če se ne motim postal orphaned in živel naprej.. Težava v tem primeru je ta da ga ne moreš normalno ugasnit ampak le na silo z kill -9 #proc_pid
Torej prva rešitev je : ssh -t host "sudo service gmond"
Druga rešitev pa je lahko tudi z ukazom nohup, ki bi v tem primeru ignorirala signal starša sighup in bi proces, če se ne motim postal orphaned in živel naprej.. Težava v tem primeru je ta da ga ne moreš normalno ugasnit ampak le na silo z kill -9 #proc_pid
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | alarm med inštaliranjemOddelek: Pomoč in nasveti | 904 (631) | mulc007 |
» | Ne zazna HDD pri zagonuOddelek: Pomoč in nasveti | 1263 (1038) | -žiga- |
» | BIOS problem!Oddelek: Pomoč in nasveti | 1513 (1442) | Spike Edin |
» | kako mountat USB ključ v linuxuOddelek: Operacijski sistemi | 2528 (2035) | Senzacionale |
» | Črke pogonov v WindowsihOddelek: Pomoč in nasveti | 1404 (1239) | spucek |