I'm compiling shell scripts which handle stuff in the background and using cfexecute I'm executing them.
CFEXECUTE seems to wait until the process has finished, even if the timeout attribute has been set to 0.
From the docs: http://wiki.getrailo.org/wiki/3-1-Tags:CFExecute
Indicates how long, in seconds, the ColdFusion executing thread waits for the spawned process. A timeout of 0 is equivalent to the non-blocking mode of executing. A very high timeout value is equivalent to a blocking mode of execution. The default is 0; therefore, the ColdFusion thread spawns a process and returns without waiting for the process to terminate.If no output file is specified, and the timeout value is 0, the program output is discarded.
Try this (Linux/Mac):
<cfexecute name="sleep" arguments="10" timeout="0"></cfexecute>
The page request will take 10 seconds.