Search code examples
winapivisual-c++jobscreateprocess

IContextMenu::InvokeCommand, break away from job?


I have a child process in a job that has JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE specified.

When I invoke IContextMenu::InvokeCommand, though, any processes that are started are automatically killed when my child process exits, because they are automatically included in a job.

How can I prevent this from happening?


Solution

  • The solution I've found is to specify

    JOB_OBJECT_LIMIT_BREAKAWAY_OK | JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK
    

    for the child process, to allow its children to automatically break away from the job.