As far as SITE EXEC goes... what I am currently seeing is that SITE EXEC does run the requested program... I have a couple of simple programs that just blitecho to the screen and I can see them working... and further if I make a program that doesn't exit but instead continuously blits to the display the ftp client sits there waiting for it to return as I would expect... and the player continues happily in the background and I can still start other concurrent ftp sessions.

The strange one is starting a process which forks... it seems the forked process gets killed off when the original process dies and the ftp server finishes processing the client's request. I think this may be because the new processes are spawned as child processes of the ftpd thread, which when it has returned from processing the parent process dies, and takes all it's children with it...

This seems to be what is stopping me from calling programs like viewer from site EXEC.

Any one have any clues on how to make a child process ignore its parent dying in a kernel context...?

Cheers

Kim