Gå til innhold

Remote ctrl av linux-box


Anbefalte innlegg

Jeg har en koselig liten pc som står og surrer og kjører RH9.

Vanligvis står den og leker seg med D2OL, men jeg bruker den også til cs-server.

Så kommer spørsmålet:

Hvis jeg ikke er hjemme, og vil at den skal være cs-server, hvordan gjør jeg?

Jeg kobler meg altså til via ssh, men etter det står jeg fast. Hvordan avslutter jeg prosesser den holder på med i øyeblikket, starter cs-serveren, og logger meg av igjen (eller bare lukker programmet brukt til ssh-forbindelsen) uten at cs-serveren går ned igjen?

 

Takk for hjelp ;)

Lenke til kommentar
Videoannonse
Annonse
Så kommer spørsmålet:

Hvis jeg ikke er hjemme, og vil at den skal være cs-server, hvordan gjør jeg?

Jeg kobler meg altså til via ssh, men etter det står jeg fast. Hvordan avslutter jeg prosesser den holder på med i øyeblikket, starter cs-serveren, og logger meg av igjen (eller bare lukker programmet brukt til ssh-forbindelsen) uten at cs-serveren går ned igjen?

Nå har ikke jeg satt opp cs server eller D2OL, men har satt opp diverse andre "service". De fleste programmer som kjøres i "bakgrunnen" eller fungerer som "servicer" kalles ofte daemon og blir får ofte en "d" på enden av program navnet. fekst, httpd, smbd, ftpd, sshd etc. disse programmene "lytter" ofte etter et stop signal. Ofte skriver man: "httpd start" for å starte http daemon/serveren (apache), og man skriver "httpd stop" for å stoppe den.

Det jeg ville ha sjekket er om det finnes slike muligheter for programmene du nevner. Hvis ikke kan man alltids drepe prosessen på den "slemme" måten, nemlig ved hjelp av kill kommandoen. se "man kill", men "kill -9 prosessid" er den mest brutale og effektive måten å drepe en prosess på. være forsiktig med dette fordi ulagrede data kan kjapt forsvinne.

Hvis du har programmer/prosesser du vil skal fortsette etter at du har logget deg ut vil jeg anbefale et program som heter screen. dette programmet lar deg kjøre prosesser selv om du logger deg ut. søk litt rundt på google så finner du helt sikkert info om det. husker selv jeg brukte det endel da jeg satt opp quake2/3 servere en gang i tiden :)

Lenke til kommentar

Nå har jeg visst fått til screen iallefall. Men hver gang jeg logger meg på, havner jeg jo i 'hjemme-mappa' mi, mens cstrike er installert i /usr/local/games/hlds/hlds_l/ ... Orker ikke å skrive hele den banen hver gang, så jeg tenkte å lage meg et script.

Slik ser det ut:

#!/bin/sh

cd /usr/local/games/hlds/hlds_l/

screen -A -m -d -S hlds ./hlds_boost

Men scriptet klarer ikke å skifte mappe! Har jeg skrevet noe feil?

Lenke til kommentar
Nå har jeg visst fått til screen iallefall. Men hver gang jeg logger meg på, havner jeg jo i 'hjemme-mappa' mi, mens cstrike er installert i /usr/local/games/hlds/hlds_l/ ... Orker ikke å skrive hele den banen hver gang, så jeg tenkte å lage meg et script.

Slik ser det ut:

#!/bin/sh

cd /usr/local/games/hlds/hlds_l/

screen -A -m -d -S hlds ./hlds_boost

Men scriptet klarer ikke å skifte mappe! Har jeg skrevet noe feil?

 

prøv:

#!/bin/sh

screen -A -m -d -S hlds /usr/local/games/hlds/hlds_l/./hlds_boost

Lenke til kommentar

Du kan bare kjøre

nohup /usr/local/games/hlds/hlds_l/hlds_boost &

Da blir den dytta inn i bakgrunnen, og forsvinner ikke når du logger ut.

All output blir dytta inn i nohup.out.

Du kan jo også dytte det inn i et script, da blir det

#!/bin/sh

nohup /usr/local/games/hlds/hlds_l/hlds_boost &

Lenke til kommentar

Alle forslagene ender med at jeg får denne beskjeden:

 

: No such file or directory

 

Jeg prøvde å lage et script der jeg brukte screen til å kjøre D2OL, og det gikk!

'Hjemmemappa' mi er /home/atrax/ og her ligger mappene /SengentD2OL/D2OL/ hvor D2OL-programmet ligger.

 

#!/bin/sh

cd SengentD2OL

cd D2OL

screen -A -m -d -S d2ol ./D2OL controller:cli 

Hvis jeg prøvde

#!/bin/sh

cd SengentD2OL/D2OL/

screen -A -m -d -S d2ol ./D2OL controller:cli

..så gikk det ikke.

Prøvde å la hlds-scriptet 'bla' seg frem mappe for mappe til hlds_l mappa også, men det virka ikke.

Greit at linux ikke er direkte brukervennlig, men det virker nesten som min box har kunstig og ond intelligens og bare er ute etter å drive meg til vanvidd.. :roll: (men gøy er det likevel)

Lenke til kommentar

du har ikke mappen /ettellerannet i hjemme mappen din.. / er root..

 

det du kan gjøre er følgende

 

#!/bin/sh

cd # Gjør at du kommer i hjemme mappa di.. eventuelt cd $HOME

cd {mappe_navn}/{mappenavn2} # enklere å sette de sammen.. ikke / !

 

 

 

 

men hvorfor i helvete det ikke skal virke det skjønner jeg ikke.. er du sikker på at du har stavet riktig?

 

dessuten så vil jeg anbefale deg å _ikke_ bruke store bokstaver i mappe/fil navn. blir i grunn bare irriterende, dessuten når du driver i kommando linja så er det smart å bruke tab

 

EDIT: Eventuelt så kan du gjøre dette

#!/bin/sh

screen -A -m -d -S d2ol $HOME/SengentD2Ol/D2OL/D2Ol controller:cli

 

## Men er du sikker på at det er riktig mappe ^ ??

Lenke til kommentar
er du sikker på at du har stavet riktig?

(..)

## Men er du sikker på at det er riktig mappe ^ ??

Helt sikker. Hvis jeg kopierer kommandoen fra shellscriptet og limer den inn i en terminal, virker det.

Ang. de store bokstavene: det var det installasjonsprogrammet til d2ol som stod for, jeg hadde bare ikke tenkt på å skifte navna til små bokstaver.. :)

Lenke til kommentar
Alle forslagene ender med at jeg får denne beskjeden:

 

: No such file or directory

 

Jeg vil tippe at den filen du har laget ikke er satt til å være executeable.

Det ville forklart hvorfor det funker når du skriver det direkte i shellet, men ikke når du prøver

å gjøre akkurat det samme via ett script.

 

Prøv f.eks. 'chmod 700 navn_på_script' og så kjør det. 700 gir eieren lese, skrive og

execute rettigheter mens de andre ikke får noen rettigheter i det hele tatt.

 

Ellers så kan det (som de andre sier) være mer praktisk å lage en symbolsk link til

directoriet istedenfor ett script. Dersom du velger denne løsningen se nærmere på

ln kommandoen. (man ln).

 

Lykke til.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...