anchor.diff:  
   %% Callbacks
   
  -init([Command]) ->
  +init([Command, Owner, Options]) ->
       process_flag(trap_exit, true),
  -    {ok, ExecPid, OSPid} = exec:run_link(Command, []),
  -    {ok, #state{os_pid = OSPid, exec_pid = ExecPid}}.
  +    {ok, ExecPid, OSPid} = exec:run_link(Command, Options),
  +    {ok, #state{os_pid = OSPid, exec_pid = ExecPid, owner = Owner}}.
   
   handle_call(stop, _From, S = #state{exec_pid = ExecPid}) ->
       exec:stop(ExecPid),
  
positive.code: 
  -behaviour(gen_server).
  
  -export([exec/1]).
  -export([syn_exec/1]).
  -export([stop/1]).
  -export([os_pid/1]).
  
negative.code:      terminate/2,
       code_change/3]).
  
  -record(state, {owner, os_pid, exec_pid}).
  
  exec(Command) ->
      exec(Command, []).
  exec(Command, Options) ->
      gen_server:start_link(?MODULE, [Command, self(), Options], []).
  
  syn_exec(Command) ->
      case exec:run(Command, [sync, stdout]) of
  