---
title: "Fork:a process till bakgrunden"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/154562-fork-a-process-till-bakgrunden"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Gein"
published: "2006-12-06T17:52:26.000Z"
updated: "2006-12-07T11:28:31.000Z"
replies: 5
views: 495
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/154562-fork-a-process-till-bakgrunden"
---

# Fork:a process till bakgrunden

## #1 — Gein, 2006-12-06T17:52Z

Jag har en process som jag vill att ett php-skript startar igång och låter köras i bakgrunden, utan att skriptet väntar på processen att avsluta. Processen kan ta allt från milisekunder till timmar att köras så skriptet kan inte vänta på att processen ska avsluta. Vad jag kan hitta på Google och se.php.net så kör man enligt följande:

```php
exec("/usr/local/bin/foobar argument > /dev/null 2>&1 &");
```

 Men även om jag gör så här så väntar skriptet på att processen ska avsluta. Har även provat utan *2\>&1* (förmodar att det är för att undertrycka varningsmeddelanden?). Har även provat: 

```php
exec("daemon /usr/local/bin/foobar argument > /dev/null 2>&1");
```

 men då händer inget alls istället. Alltså sidan genereras men det finns ingen process som körs i bakgrunden. Jag tänkte att det kanske blev en child som dör när php-skriptet är färdigt så jag provade lägga in lite delay i php-skriptet efter att jag har forkat men jag ser ändå ingen process köras. 
Har sneglat mot pcntl_fork() men php körs som modul till apache och då verkar det tyvärr inte gå att använda den funktionen.

Hur gör man egentligen? Jag har börjat tänka i banor att exekvera ett perl-skript som fork:ar processen istället (förutsatt att perl klarar av att lägga processen i bakgrunden).

Hilf, bitte achtung!

Permalänk: https://www.webforum.nu/p/154562

## #2 — tydal, 2006-12-06T18:02Z

Jag kör så här:

system("nohup /usr/local/bin/foobar argument \> /dev/null &");

och har väl kört så ett år snart utan problem...

Permalänk: https://www.webforum.nu/p/1907886

## #3 — Gein, 2006-12-06T18:08Z

Det fungerar inte, sidan står och och tuggar, processen körs (ser jag med top). Om jag dödar processen som körs så fortsätter php-skriptet att generera sidan. Jag är förbryllad...

Permalänk: https://www.webforum.nu/p/1907888

## #4 — Gein, 2006-12-06T18:42Z

Eventuellt något skit med det program som exekverar skriptet, det är inte apache utan en annan process. Kör jag skriptet i terminalen så gör den vad jag önskar men när jag exekverar det via webben så går det inte.

Permalänk: https://www.webforum.nu/p/1907903

## #5 — Gein, 2006-12-07T08:31Z

tydal,
Hur kör du ditt skript, genom php som apache-modul eller CLI?

Permalänk: https://www.webforum.nu/p/1908006

## #6 — tydal, 2006-12-07T11:28Z

Apachemodul.

Permalänk: https://www.webforum.nu/p/1908035

---

Tråden på webben: https://www.webforum.nu/amne/php/154562-fork-a-process-till-bakgrunden
