SSH => Processen laten runnen zonder verbinding

Pagina: 1
Acties:

  • WarMaster
  • Registratie: Juni 1999
  • Niet online

WarMaster

Nosce te ipsum

Topicstarter
Situatie:

• Linux newb (somewhat)
• Game server op remote linux bak
• Log in met putty SSH verbinding

Probleem:
• SSH verbinding moet aanblijven, anders stoppen, en sluiten alle processen zich.

Vraag:
• Hoe kan ik het process laten runnen zonder een constante SSH verbinding?
• Hoe kan ik als ik weer inlog het proces weer actief beinvloeden?

We live in a primitive time don't we, neither savage nor wise. Half measures are the curse of it; any rational society would either kill me or put me to some use.


  • eth0
  • Registratie: Mei 2002
  • Laatst online: 15-09-2025
Je kan het commando 'screen' gebruiken dat kan precies wat jij wilt.

  • WarMaster
  • Registratie: Juni 1999
  • Niet online

WarMaster

Nosce te ipsum

Topicstarter
Screen: Command not found

We live in a primitive time don't we, neither savage nor wise. Half measures are the curse of it; any rational society would either kill me or put me to some use.


  • Kettrick
  • Registratie: Augustus 2000
  • Laatst online: 13:54

Kettrick

Rantmeister!

(jarig!)
./gameserver > /dev/null &

:)

  • eth0
  • Registratie: Mei 2002
  • Laatst online: 15-09-2025
Op donderdag 11 juli 2002 13:49 schreef RoeLz het volgende:
./gameserver > /dev/null &

:)
Ok maar vertel dan ook ff hoe je het proces dan weer naar voren krijgt als je met sh uit en daarnaa weer inlogt??

fg werkt dan niet meer

screen kan dat wel :)

  • WarMaster
  • Registratie: Juni 1999
  • Niet online

WarMaster

Nosce te ipsum

Topicstarter
Poging tot het installeren van screen. Maar gezien mijn linux newbieheid vlot het nog niet zo.

Wow.. Nog gelukt ook.

Alleen het funcioneren nog :)

We live in a primitive time don't we, neither savage nor wise. Half measures are the curse of it; any rational society would either kill me or put me to some use.


  • WarMaster
  • Registratie: Juni 1999
  • Niet online

WarMaster

Nosce te ipsum

Topicstarter
Hmmmmmm screen is toch niet zo heel flex voor newbs.

Hij vraag na de confige om even de paths te checken.
Nou die wil ik dus in mijn eigen homedir zetten omdat de bak niet van mij is, en ik wil de boel niet vervuilen.

Maar toch flikkert hij de zooi ergens anders neer na de "make".

Die kan ik dus ook nu niet meer vinden.

Dit moet toch makkelijker kunnen?

We live in a primitive time don't we, neither savage nor wise. Half measures are the curse of it; any rational society would either kill me or put me to some use.


  • bloody
  • Registratie: Juni 1999
  • Laatst online: 21:53

bloody

0.000 KB!!

gewoon een & achter het commando wat je normaal gebruikt.

dus bv: /usr/local/mysql/bin/safe_mysqld --user=mysql &

nope


Verwijderd

alleen een & erachter werkt niet
namelijk:
als je uitlogt of de verbinding valt weg, dan wordt er een hangup signaal (HUP) nar alle procs gestuurt die child zijn van de shell
en de meeste programmas zien die HUP als teken om er mee te stoppen... (mysql dus niet, die blijft draaien)

dit kan je op 3 manieren fixen
1: screen (dit is een subshell die geen hup stuurt en zelf blijft draaien)
2: nohup gebruiken voor de programma naam (nohup ./gameserver &)
3: na ./gameserver > logfile & tik je disown
disown is een bash command dat er voor zorgt dat de laatst gestarte job "gedetacht" wordt van de shell, en dus geen HUP krijgt (zelfde wat nohub doet maar dan zo dat je nohup nie nodig hebt :-)

Mata
...killall -HUP holland HUP :-)

  • WarMaster
  • Registratie: Juni 1999
  • Niet online

WarMaster

Nosce te ipsum

Topicstarter
Op donderdag 11 juli 2002 15:24 schreef Mata_Hari het volgende:
alleen een & erachter werkt niet
namelijk:
als je uitlogt of de verbinding valt weg, dan wordt er een hangup signaal (HUP) nar alle procs gestuurt die child zijn van de shell
en de meeste programmas zien die HUP als teken om er mee te stoppen... (mysql dus niet, die blijft draaien)

dit kan je op 3 manieren fixen
1: screen (dit is een subshell die geen hup stuurt en zelf blijft draaien)
2: nohup gebruiken voor de programma naam (nohup ./gameserver &)
3: na ./gameserver > logfile & tik je disown
disown is een bash command dat er voor zorgt dat de laatst gestarte job "gedetacht" wordt van de shell, en dus geen HUP krijgt (zelfde wat nohub doet maar dan zo dat je nohup nie nodig hebt :-)

Mata
...killall -HUP holland HUP :-)
YES!

Het werkt op zich. Maar het staat niet in de ps lijst, dus ik wist in eerste instantie niet dat hij aanstond.

En hoe kan ik er weer bij?!?!

We live in a primitive time don't we, neither savage nor wise. Half measures are the curse of it; any rational society would either kill me or put me to some use.


Verwijderd

screen -x

of als je er meerdere hebt draaien:

screen -r [pid]

Verwijderd

Het werkt op zich. Maar het staat niet in de ps lijst, dus ik wist in eerste instantie niet dat hij aanstond.
probeer eens ps -Af
of ps -aex
dat geeft alle procs op een server weer...
En hoe kan ik er weer bij?!?!
opzich... alleen als je screen gebruikt dan screen -r
zonder screen, sja... niet... :-)
als gameserver een interactief proggie is, dan kun je beter scrteen gebruiken
als deze dat niet is, de log file is de filename die je achter de > geeft (of in geval van nohup, de nohup.out file)

het stoppen doe je doormiddel van killall -HUP gameserver ; sleep 1 ; killall -TERM gameserver ; sleep 1 ; killall -9 gameserver
(ja, i know, er zijn betere en mooiere manieren hier voor, als je die wilt hebben, let me know, dan bouw ik een mooi scriptje enzo, maar dis een redelijke failsafe way :-)

Mata
...houd van shellscripting :-)

  • M4RTiN
  • Registratie: Augustus 2000
  • Laatst online: 24-11-2024
dat screen lijkt me wel leuk, maar zijn er ook screenshots van :? :P

Verwijderd

Op donderdag 11 juli 2002 18:47 schreef M4RTiN het volgende:
dat screen lijkt me wel leuk, maar zijn er ook screenshots van :? :P
eeeuh... het ziet er het zelfde uit als je shell... het is namelijk je shell die bovenop een ander proggie draait...
je kan hem onderbreken met een toets combo (crtl nogwattus...) en later verder gaan met screen -r

opzich heel handy proggie voor telnet bakjes ergens hier ver vandaan...

Mata
...waar paddestoele huisjes staan :-p

  • WarMaster
  • Registratie: Juni 1999
  • Niet online

WarMaster

Nosce te ipsum

Topicstarter
Op donderdag 11 juli 2002 18:45 schreef Mata_Hari het volgende:

[..]

probeer eens ps -Af
of ps -aex
dat geeft alle procs op een server weer...
[..]

opzich... alleen als je screen gebruikt dan screen -r
zonder screen, sja... niet... :-)
als gameserver een interactief proggie is, dan kun je beter scrteen gebruiken
als deze dat niet is, de log file is de filename die je achter de > geeft (of in geval van nohup, de nohup.out file)

het stoppen doe je doormiddel van killall -HUP gameserver ; sleep 1 ; killall -TERM gameserver ; sleep 1 ; killall -9 gameserver
(ja, i know, er zijn betere en mooiere manieren hier voor, als je die wilt hebben, let me know, dan bouw ik een mooi scriptje enzo, maar dis een redelijke failsafe way :-)

Mata
...houd van shellscripting :-)
Ja met dat screen loop ik nog steeds te rotzooien.
Dat NOHUP gebeuren snap ik nu wel aardig en het killen gaat ook zonder problemen. Ik doe meestal gewoon kill <PID gameserver> of kill -9 <PID van gameserver>

Maarja.. Het is wel interactief.
Ik vind het vrij raar dat er gewoon geen commando bestaat dat een process weer aan een terminal kan geven. Je staat het immers ook af....

Enfin, als iemand een goede howto van screen heeft dan ben ik daar heel dankbaar voor. Ik loop al door de documentatie, maar veel wijzer word ik er niet van. :(

De pest is ook dat ik het systeem daar schoon moet houden. Dus ALLE files en zut van logs, en WHATEVER er ook wordt neer gedonderd moet worden, moet in mijn /home/naam/ dir komen te staan.

We live in a primitive time don't we, neither savage nor wise. Half measures are the curse of it; any rational society would either kill me or put me to some use.


Verwijderd

wat lukt niet met screen? het compilen niet?

na de standaard ./configure en make hoef je in theorie bij screen geen make install te doen
je hebt alleen de screen executable nodig

maar:
als je echt alles in je homedir wil houden (normaal zet screen iets in /tmp) dan moet je ./configure met wat opties uitvoeren
oa bv. --prefix=$HOME
check ./configure --help om te zoeken welke switch aangeeft waar de tmp files moeten

dan kan je wel gewoon make install doen, en instaleertje in je homedir
(of, mooier, --prefix=$HOME/screen en ff een dir $HOME/screen maken)

Mata
...houd minder van Makefiles... :-)

Verwijderd

oh, overigens, usage:
heel simpel

start screen op
in screen start je je gameserver
dan druk je op crtl-a en dan d

die detacht, en gooit je weer in shell

en screen weer opstarten met screen -r enzow

ik vond net ook een goeie "screen howto" btw
http://www.samag.com/documents/s=1173/sam9910b/9910b.htm

suc6 :-)

Mata
...vergeet ook wel eens wat :-)

  • WarMaster
  • Registratie: Juni 1999
  • Niet online

WarMaster

Nosce te ipsum

Topicstarter
*HUIL HUIL*

Ik word helemaal scheel.

De install van screen wil juist allerlei dirs hebben waar hij screens in kan gooien :?

De executable heb ik wel, maar ja. Werkt dat dan allemaal zonder al dat geneuzel?

Kan je me a.u.b. misschien even via ICQ oid contacten? Zo kan ik dan even interactief de newb uithangen. Tenminste, als je dat zou willen.

We live in a primitive time don't we, neither savage nor wise. Half measures are the curse of it; any rational society would either kill me or put me to some use.


Verwijderd

ieuw, icq...
heb geen icq of msn... maar heb wel irc op ircnet
alsje dan ff naar #GoT komt, dan wacht ik ff :-)

Mata
...heeft een date :-p

  • WarMaster
  • Registratie: Juni 1999
  • Niet online

WarMaster

Nosce te ipsum

Topicstarter
Op vrijdag 12 juli 2002 01:28 schreef Mata_Hari het volgende:
ieuw, icq...
heb geen icq of msn... maar heb wel irc op ircnet
alsje dan ff naar #GoT komt, dan wacht ik ff :-)

Mata
...heeft een date :-p
Ieuwww irc :P

ff mIRC downen... ircnet, is dat de server?

We live in a primitive time don't we, neither savage nor wise. Half measures are the curse of it; any rational society would either kill me or put me to some use.


Verwijderd

das het netwerk, servers: irc.xs4all.nl, irc.sci.kun.nl, irc.snt.utwente.nl en nog ongeveer 160 andere in en buiten nederland :-)

Mata
...je herkent me aan mijn roos in de hand en een telegraaf onder de arm (blind date ;-)

  • QuarK
  • Registratie: Maart 2000
  • Laatst online: 09-07 21:48
Screen met de hand compilen en installen kan soms lastig zijn. Veel beter is het om een .deb of .rpm te pakken. Ben je gelijk klaar.

apt-get install screen
rpm ...nogwat

  • WarMaster
  • Registratie: Juni 1999
  • Niet online

WarMaster

Nosce te ipsum

Topicstarter
Het is gelukt dankzij Mata_Hari...

Veel dank voor de professionele uitleg en ondersteuning!

We live in a primitive time don't we, neither savage nor wise. Half measures are the curse of it; any rational society would either kill me or put me to some use.

Pagina: 1