Toon posts:

debian text-only multitasking

Pagina: 1
Acties:

  • KillerZero86
  • Registratie: Mei 2010
  • Laatst online: 02-06 22:17
Recentelijk heb ik beschikking gekregen over een leuk servertje met daarop debian. Zonder GUI. En het probleem waar ik op dit moment tegenaan blijf lopen is dat multitasken me niet lukt. Ik heb bijvoorbeeld een minecraft server die ik graag draai, de standaard commando om dezegoed aan de gang te krijgen is:
code:
1
 java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui

Nu wil ik deze in de achtergrond hebben, en het volgende gebeurt:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
root@PinServer5:/home/naampje/server# java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui
148 recipes
16 achievements
2011-05-26 15:59:23 [INFO] Starting minecraft server version Beta 1.6.2
2011-05-26 15:59:23 [INFO] Loading properties
2011-05-26 15:59:23 [INFO] Starting Minecraft server on *:443
2011-05-26 15:59:23 [INFO] Preparing level "world"
2011-05-26 15:59:23 [INFO] Preparing start region for level 0
2011-05-26 15:59:23 [INFO] Preparing start region for level 1
2011-05-26 15:59:24 [INFO] Preparing spawn area: 97%
2011-05-26 15:59:24 [INFO] Done (1110130800ns)! For help, type "help" or "?"
^Z
[1]+  Stopped                 java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui
root@PinServer5:/home/naampje/server# bg
[1]+ java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui &
root@PinServer5:/home/naampje/server# jobs
[1]+  Stopped                 java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui
root@PinServer5:/home/naampje/server# fg
java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui
2011-05-26 16:01:49 [WARNING] Can't keep up! Did the system time change, or is the server overloaded?

Zoals te zien draait de server alleen als het op de foreground staat, hoe kan ik het programma op de achtergrond zetten en tegelijk door laten draaien?

  • revertive
  • Registratie: Maart 2008
  • Laatst online: 28-05 12:29
"nohup java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui &" zal als het goed is moeten werken.

  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 16:18
Als jij dat ding gewoon met een "&" erachter in de background gooit bij het opstarten zou je geen probleem moeten hebben. Zoals je nu doet zet je dat ding op de voorgrond, stop je dat ding en stuur je dat ding daarna naar de background. Dan staat die server een tijdje stil en is het niet vreemd dat timing informatie niet meer klopt zoals die waarschuwing zegt.
Eventueel als alternatief kan je een screen sessie starten, vervolgens "CTRL+a,d" om je screen sessie te detachen, als je later weer naar die terminal terug wilt doe je dat met "screen -r".

  • KillerZero86
  • Registratie: Mei 2010
  • Laatst online: 02-06 22:17
Ik typ bg, dat zou de gestopte server in de background moeten starten, nietwaar? Daarom typ ik daarna jobs en zie ik dat de server nog steeds gestopt is. vervolgens typte ik fg en toen pas kwam het ding weer op gang.

@ reventive: in principe werkt jou oplossing: hij draait in de achtergrond. Maar dan kan ik er niet meer bij, hij draait alleen nog maar. Wat ik zoek is net als in windows: je start de server, kijkt even toe hoe hij aangaat, daarna druk je op minimaliseren, ga je wat anders doen, kom je later terug, maximaliseer je m weer en heb je alle data voor je. Met jou manier wordt alle output ergens anders heen gestuurd en kan ik het dus niet zien.

  • Marmotje
  • Registratie: Maart 2005
  • Laatst online: 23-05 15:21
redirect je de output naar een logfiletje ?

code:
1
nohup java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui >/tmp/minecraft.log &

[Voor 55% gewijzigd door Marmotje op 26-05-2011 16:18]

apt-get moo


  • KillerZero86
  • Registratie: Mei 2010
  • Laatst online: 02-06 22:17
Dat is ook een slimme, maar na even expirimenteren ben ik heel erg gecharmeerd van de screen function. Bedankt voor de tip! =)

  • revertive
  • Registratie: Maart 2008
  • Laatst online: 28-05 12:29
KillerZero86 schreef op donderdag 26 mei 2011 @ 16:24:
Dat is ook een slimme, maar na even expirimenteren ben ik heel erg gecharmeerd van de screen function. Bedankt voor de tip! =)
screen is daar wel handig voor ja, hiermee kan je hem gewoon op de fg laten draaien en verder werken in een andere virtueele terminal. Wil je zien wat hij gedaan heeft dan switch je weer terug naar het de terminal waar die op draait.

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Wat bij `screen` wel heel handig is, als je er toch mee wil gaan werken (wat óók érg handig is :P), is alle 'hotkeys' leren: Al die Ctrl-A-nogiets-codes.

Welke ik 't meest gebruik:

Ctrl-a-ccreëer nieuw venster binnen screen
Ctrl-a-AGeef 't beessie (huidige venster) een naampje
Ctrl-a-"Overzichtje van alle vensters, met pijltjes omhoog/naar beneden wisselen van venster (als je op enter drukt that is :P)
Ctrl-a-<spatiebalk>Spring in één keer een venstertje verder
Ctrl-a-pSpring in één keer een venstertje terug
Ctrl-a-[Enter scroll-mode
Ctrl-a-uScroll wat omhoog (in scroll-mode)
Ctrl-a-dScroll wat omlaag (in scroll-mode)


Volgens mij was dat wel wat ik 't meest gebruik. En als 't goed is correct :+

Op die manier kun je gewoon éénmalig `screen` draaien, met Ctrl-a-d detachen en inderdaad met `screen -r` 'em weer terugkrijgen. Vroeger wilde ik wel eens meerdere screen-sessies naast elkaar draaien om ze dan los te detachen en reattachen. Maar één sessie werkt IMO toch handiger.. (Kende al die shortcuts nog niet zo goed eerder, vandaar :+)

[Voor 15% gewijzigd door Osiris op 26-05-2011 16:56]


  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

offtopic:
Waarom draait de server op de SSL poort (443)? Hiermee kan je dus (als de server dat ook doet) websites (die SSL nodig hebben) niet draaien.

  • recar
  • Registratie: December 2004
  • Laatst online: 14-01 17:21
CptChaos schreef op donderdag 26 mei 2011 @ 16:58:
offtopic:
Waarom draait de server op de SSL poort (443)? Hiermee kan je dus (als de server dat ook doet) websites (die SSL nodig hebben) niet draaien.
offtopic:
Omdat de server vanachter een (werk/school)proxy bereikt moet worden welke in ieder geval poort 443 open heeft staan?

  • KillerZero86
  • Registratie: Mei 2010
  • Laatst online: 02-06 22:17
Inderdaad staat de server op school, ikzelf maak alleen contact via SSH & SFTP, via poort 22. Dan heb ik file transfer (via WinSCP) en kan ik commando's geven (via PuTTy). Meer is niet nodig, toch? ;)

@osiris: ja de hotkeys zijn inderdaad handig, bedankt!

  • icyx
  • Registratie: Januari 2007
  • Niet online

icyx

chown -R us ./base

Ah, fijn ja, als er maar vier poorten open staan ;). Mocht je voor je MC server nog commando's de console op willen knallen; ook dat kan via screen (zie dit bijvoorbeeld). Je dan bijvoorbeeld forced save cronnen ieder uur. Handig als je harddisk om de gemelde reden ro gemount wordt.

When you think you’ve succeeded / but something’s missing / means you have been defeated / by greed, your weakness.


  • freyk
  • Registratie: September 2003
  • Laatst online: 02-07-2021
KillerZero86 schreef op donderdag 26 mei 2011 @ 16:16:
..Wat ik zoek is net als in windows: je start de server, kijkt even toe hoe hij aangaat, daarna druk je op minimaliseren, ga je wat anders doen, kom je later terug, maximaliseer je m weer en heb je alle data voor je.
Je wil er dus een startupscript van maken. Kijk eens naar de startupscript op de mc wiki.

[Voor 17% gewijzigd door freyk op 28-05-2011 16:06]


Acties:
  • 0Henk 'm!

  • johnkeates
  • Registratie: Februari 2008
  • Laatst online: 30-04 00:05
Nee, hij wil geen startupscript, hij wil screen, en dat heeft ie en het werkt.

Acties:
  • 0Henk 'm!

  • freyk
  • Registratie: September 2003
  • Laatst online: 02-07-2021
Wat ik begrijp is dat de ts processen op de achtergrond wil zetten en meerdere applicaties te gelijk werken.
Dit kan inderdaad met applicaties zoals bg en screen.

Maar je moet dan wel weer handmatig de applicatie op die manier activeren, wanneer iemand het besturingsysteem herstart of per ongeluk een screen-sessie sluit.
Een startupscript is een "windows service" voor een linuxsysteem. Het heeft dezelfde eigenschappen en wordt ook nog eens door het besturingsysteem beveiligd.
Daarnaast staat het ook veel netter.

En heel toevallig maakt deze startupscript voor debian ook nog eens gebruik van screen.

[Voor 6% gewijzigd door freyk op 29-05-2011 21:16]


Acties:
  • 0Henk 'm!

  • MisterData
  • Registratie: September 2001
  • Laatst online: 03-06 12:46
Ik gebruik voor dat soort dingen altijd dtach (kun je met apt-get installeren):

code:
1
dtach -c mijnproces.job ./command.sh


(Waarbij je "./command.sh" dus kunt vervangen door je java-commandline of iets anders). Als je nu Ctrl-\ doet kom je terug in de shell, maar blijft het gestarte programma doorlopen. Dtach koppelt 'm aan een job-bestand (mijnproces.job). Om het programma weer te openenen doe je:

code:
1
 dtach -a mijnproces.job
Pagina: 1


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee