On Fri, Sep 16, at 10:31 AM, Kumar McMillan wrote:
Does anyone have an idea why using Python's os.fork() to start a daemon process from within TextMate doesn't work? Why would I want to do this, you ask? It seems the most logical way to browse local Python documentation (via pydoc). The doc commands that already exist are great if you know exactly what you're looking for, but I still find myself starting up the doc server every now and again to go poking around. My thought was to run a command "Browse Python Documentation" or whatever from TextMate that opens a web browser to the local server. If the server isn't running then it needs to start lazily. This works great from the shell. From within TextMate the server starts fine but the process doesn't appear to be properly forked because TextMate just hangs like it's waiting. The script is attached for reference.
Try the double-fork trick, that works in most of those situations. By double fork I mean the forked child process exists immediately after forking another process which does the actual work. This dis- associates the prent from the 'grandchild'. You may also have to close the open file descriptors (STDIN, STDOUT, STDERR) in the child.
Gerd