<p>I've got a PHP script that needs to invoke a shell script but doesn't care at all about the output. The shell script makes a number of SOAP calls and is slow to complete, so I don't want to slow down the PHP request while it waits for a reply. In fact, the PHP request should be able to exit without terminating the shell process.</p>

<p>I've looked into the various <code>exec()</code>, <code>shell_exec()</code>, <code>pcntl_fork()</code>, etc. functions, but none of them seem to offer exactly what I want. (Or, if they do, it's not clear to me how.) Any suggestions?</p>

If it "doesn't care about the output", couldn't the exec to the script be called with the
```
&
```
to background the process?
EDIT
- incorporating what @
AdamTheHut
commented to this post, you can add this to a call to
```
exec
```
:
```
```
" > /dev/null 2>/dev/null &"
```
```
That will redirect both
```
stdio
```
(first
```
>
```
) and
```
stderr
```
(
```
2>
```
) to
```
/dev/null
```
and run in the background.
There are other ways to do the same thing, but this is the simplest to read.
An alternative to the above double-redirect:
```
```
" &> /dev/null &"
```
```