Plantuml source file (for later edit) // Style skinparam backgroundColor #FFFFFF skinparam sequence { ActorBorderColor DeepSkyBlue ArrowColor #4a6484 LifeLineBorderColor #4a6484 ParticipantBackgroundColor #91c6ff ParticipantBorderColor black BoxBorderColor black } //posix no error /** \plantuml activate Father box "Child Process" #LightGrey participant Child participant Exe end box Father->Father : on_setup activate Father deactivate Father Father->Child : fork activate Child Father -> Father : wait for error deactivate Father Child->Child : on_exec_setup activate Child deactivate Child Child->Exe : execve deactivate Child activate Father activate Exe Father -> Father : on_success activate Father deactivate Father \endplantuml */ //posix exec error /** \plantuml activate Father Father->Father : on_setup activate Father deactivate Father Father->Child : fork activate Child Father -> Father : wait for error deactivate Father Child->Child : on_exec_setup activate Child deactivate Child Child->Child : execve Child->Child : on_exec_error activate Child deactivate Child Child->Father : report deactivate Child activate Father Father -> Father : on_error activate Father deactivate Father \endplantuml //posix fork error \plantuml activate Father Father->Father : on_setup activate Father deactivate Father Father->Father : fork Father -> Father : on_fork_error activate Father deactivate Father Father -> Father : on_error activate Father deactivate Father \endplantuml //windows. \plantuml activate Father Father->Father : on_setup activate Father deactivate Father Father->Child : CreateProcess activate Child alt Successful Launch Father -> Father : on_success activate Father deactivate Father else Error during launch Father -> Father : on_error activate Father deactivate Father end \endplantuml