On Wednesday, May 28, 2003, at 03:03 PM, Robert Sandilands wrote: I'm trying to determine how program execution is started in the kernel. I know that there is an entry points trough syscall[SYS_execve] and syscall[SYS_execv]. This seems to only catch programs executed from the Terminal. But if you launch programs through the dock, it does not seem to pass through those interfaces. Any ideas of how executing something like iCal goes through the kernel? All roads lead to execve. See xnu/bsd/kern/kern_exec.c. Terminal plays no part in this. The shell is what you are talking to when running Terminal, and it does just what Finder does, albeit in a more limited way. In either case, your shell or Finder finally arrives at a path to an executable, and it runs that executable with a variant of the exec() system call. For "apps" that actually aren't executables (in the Unix sense), another program is launched (or contacted some how) to read in the content of the file to be "executed" and set it up to execute in some way (e.g., the Carbon/CFM apps are handled LaunchCFM; shell scripts by a named shell). The Dock is either using Finder or doing what Finder does (I don't know the code). Regards, Justin -- /~\ The ASCII Justin C. Walker, Curmudgeon-at-Large \ / Ribbon Campaign X Help cure HTML Email / \ _______________________________________________ darwin-kernel mailing list | darwin-kernel@lists.apple.com Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/darwin-kernel Do not post admin requests to the list. They will be ignored.