You also can try to make a different architecture in your application, where you can let some part of your application as a service in an unique process, so, the other process will access this service without load it, just making a call using any RPC protocol. So, take a look at SOAP.
You'd end up needing to handle concurrent requests there as well, and probably writing your own forking daemon of some kind. Not worth it, unless you can use a single-process model.
About the prefork resource, is very nice if your OS has fork, but note that is not any module/code that can survive from a fork.
The same is true of threads, i.e. don't fork or spawn a thread with an open socket or some XS data structure and then try to use it from the new process/thread.