Toon posts:

[Linux] background process

Pagina: 1
Acties:
  • 42 views sinds 30-01-2008

Verwijderd

Topicstarter
hallo,
als ik een proces wil starten op een remote linux machine, geef ik via putty bv volgend commando in:
# php -f filename.php &
Maar wanneer ik mijn venster afsluit(clientside) dan wordt mijn proces op de server ook gekilled?
Hoe kan ik er voor zorgen dat dit blijft lopen?

  • Flydude
  • Registratie: Mei 2003
  • Laatst online: 12-02 18:17

Flydude

Mighty pirate

Met screen.

Start je proces in een screen en detach dat dan. Je procesje blijft keurig lopen.

I am rubber, you are glue


Verwijderd

Om e.e.a. wat te verduidelijken: zorg dat je "screen" geinstalleerd heb, en start het dan (als gewone user) met het commando "screen". Er lijkt mogelijk niets te veranderen, je houdt gewoon je normale prompt, maar je draait stiekum in een andere omgeving.
Je kunt nu een programma starten, zoals je dat gewend bent (bijv. die php-aanroep uit je startpost) en vervolgens CTRL-A gevolgd door "D" (van "Detach", afkoppelen) indrukken. Je screen-sessie wordt dan afgekoppeld (je komt weer terug in de shell die je had voordat je screen opstarte), terwijl screen op de achtergrond blijft doordraaien.
Als je weer wilt terugkeren naar een draaiende screen, typ je "screen -r", en voila, je programma draait nogsteeds!

Verwijderd

je kan dit ook doen:
code:
1
nohup php -f filename.php &
alleen kan je dan niet zoals met screen het proces weer makkelijk naar de voorgrond toveren.
als je het proces niet meer terug hoeft te zien kan je net zo goed nohup als screen gebruiken
nohup maakt standaard een file nohup.out aan waarin alle uitvoer naar de terminal komt te staan
als je die file een andere naam wilt geven doe je
code:
1
nohup php -f filename.php > uitvoer.txt &
tech achtergrond:
nohup zorgt ervoor dat het SIGHUP signaal (van hetzelfde soort als het kill signaal dat je met kill naar een process kan sturen) niet bij je proces aankomt.
SIGHUP wordt automatisch gestuurd bij uitloggen aan al de progjes die in de terminal waren opgestart en heeft uiteindelijk hetzelfde effect als een kill

SIGHUP staat voor Signal Hangup

  • blaataaps
  • Registratie: Juli 2001
  • Niet online
Dit kan met nohup en screen, en dat staat precies uitgelegd in FAQ Non-Windows Operating Systems - update: 08/04/2004 :)

Dit topic is gesloten.