'_tmp/cat2' -> '/bin/cat'
[1/66] make-pystub _bin/shwrap/optview_gen core/optview_gen.py frontend/option_def.py
[2/66] build-stamp-cpp _build/git-commit.txt _gen/cpp/build_stamp.h _gen/cpp/build_stamp.cc
[3/66] make-pystub _bin/shwrap/asdl_main asdl/asdl_main.py asdl/ast.py asdl/front_end.py asdl/gen_cpp.py asdl/gen_python.py asdl/util.py asdl/visitor.py
[4/66] make-pystub _bin/shwrap/consts_gen frontend/consts_gen.py _devbuild/gen/hnode_asdl.py _devbuild/gen/types_asdl.py asdl/ast.py asdl/gen_cpp.py asdl/pybase.py asdl/runtime.py asdl/util.py asdl/visitor.py frontend/builtin_def.py frontend/id_kind_def.py frontend/option_def.py mycpp/mops.py mycpp/mylib.py pylib/collections_.py
[5/66] make-pystub _bin/shwrap/embedded_file_gen cpp/embedded_file_gen.py mycpp/mylib.py pylib/collections_.py
[6/66] make-pystub _bin/shwrap/flag_gen frontend/flag_gen.py _devbuild/gen/hnode_asdl.py _devbuild/gen/id_kind_asdl.py _devbuild/gen/runtime_asdl.py _devbuild/gen/syntax_asdl.py _devbuild/gen/value_asdl.py asdl/pybase.py asdl/runtime.py core/error.py core/num.py frontend/args.py frontend/flag_def.py frontend/flag_spec.py frontend/option_def.py frontend/syntax_abbrev.py mycpp/mops.py mycpp/mylib.py pylib/collections_.py
[7/66] make-pystub _bin/shwrap/option_gen frontend/option_gen.py asdl/ast.py frontend/builtin_def.py frontend/option_def.py
[8/66] optview_gen > _gen/core/optview.h
[9/66] asdl_main cpp  core/runtime.asdl _gen/core/runtime.asdl _gen/core/runtime.asdl_debug.py
[10/66] asdl_main cpp --no-pretty-print-methods asdl/hnode.asdl _gen/asdl/hnode.asdl _gen/asdl/hnode.asdl_debug.py
[11/66] embedded_file_gen _devbuild/help/data-errors _devbuild/help/data-front-end _devbuild/help/data-j8-notation _devbuild/help/help _devbuild/help/oils-usage _devbuild/help/osh-builtin-cmd _devbuild/help/osh-chapters _devbuild/help/osh-cmd-lang _devbuild/help/osh-front-end _devbuild/help/osh-mini-lang _devbuild/help/osh-option _devbuild/help/osh-osh-assign _devbuild/help/osh-plugin _devbuild/help/osh-special-var _devbuild/help/osh-stdlib _devbuild/help/osh-type-method _devbuild/help/osh-usage _devbuild/help/osh-word-lang _devbuild/help/shell-flags _devbuild/help/ysh-builtin-cmd _devbuild/help/ysh-builtin-func _devbuild/help/ysh-chapters _devbuild/help/ysh-cmd-lang _devbuild/help/ysh-expr-lang _devbuild/help/ysh-front-end _devbuild/help/ysh-mini-lang _devbuild/help/ysh-option _devbuild/help/ysh-plugin _devbuild/help/ysh-special-var _devbuild/help/ysh-stdlib _devbuild/help/ysh-type-method _devbuild/help/ysh-usage _devbuild/help/ysh-word-lang _devbuild/help/ysh-ysh-cmd stdlib/methods.ysh stdlib/osh/bash-strict.sh stdlib/osh/byo-server.sh stdlib/osh/no-quotes.sh stdlib/osh/task-five.sh stdlib/osh/two.sh stdlib/prelude.ysh stdlib/ysh/args.ysh stdlib/ysh/def.ysh stdlib/ysh/list.ysh stdlib/ysh/math.ysh stdlib/ysh/stream.ysh stdlib/ysh/table.ysh stdlib/ysh/yblocks.ysh _gen/bin/text_files.cc
[12/66] asdl_main cpp  data_lang/nil8.asdl _gen/data_lang/nil8.asdl _gen/data_lang/nil8.asdl_debug.py
[13/66] asdl_main cpp  core/value.asdl _gen/core/value.asdl _gen/core/value.asdl_debug.py
[14/66] make-pystub _bin/shwrap/signal_gen frontend/signal_gen.py frontend/signal_def.py
[15/66] consts_gen cpp _gen/frontend/option.asdl
[16/66] asdl_main cpp  display/pretty.asdl _gen/display/pretty.asdl _gen/display/pretty.asdl_debug.py
[17/66] signal_gen cpp _gen/frontend/signal
[18/66] consts_gen cpp-consts _gen/frontend/consts
[19/66] consts_gen cpp _gen/frontend/id_kind.asdl
[20/66] flag_gen cpp _gen/frontend/arg_types
[21/66] make-pystub _bin/shwrap/arith_parse_gen osh/arith_parse_gen.py _devbuild/gen/hnode_asdl.py _devbuild/gen/id_kind_asdl.py _devbuild/gen/nil8_asdl.py _devbuild/gen/pretty_asdl.py _devbuild/gen/runtime_asdl.py _devbuild/gen/syntax_asdl.py _devbuild/gen/types_asdl.py _devbuild/gen/value_asdl.py asdl/format.py asdl/pybase.py asdl/runtime.py core/bash_impl.py core/error.py core/num.py core/optview.py data_lang/j8.py data_lang/j8_lite.py data_lang/pyj8.py display/ansi.py display/pp_hnode.py display/pp_value.py display/pretty.py display/ui.py frontend/builtin_def.py frontend/consts.py frontend/id_kind_def.py frontend/lexer.py frontend/lexer_def.py frontend/location.py frontend/match.py frontend/option_def.py frontend/syntax_abbrev.py mycpp/mops.py mycpp/mylib.py osh/arith_parse.py osh/tdop.py osh/word_.py pylib/collections_.py
[22/66] make-pystub _bin/shwrap/mycpp_main mycpp/mycpp_main.py mycpp/const_pass.py mycpp/control_flow_pass.py mycpp/conversion_pass.py mycpp/cppgen_pass.py mycpp/crash.py mycpp/format_strings.py mycpp/pass_state.py mycpp/translate.py mycpp/util.py mycpp/visitor.py
[23/66] make-pystub _bin/shwrap/grammar_gen ysh/grammar_gen.py _devbuild/gen/hnode_asdl.py _devbuild/gen/id_kind_asdl.py _devbuild/gen/runtime_asdl.py _devbuild/gen/syntax_asdl.py _devbuild/gen/types_asdl.py _devbuild/gen/value_asdl.py asdl/pybase.py asdl/runtime.py core/alloc.py core/error.py core/num.py core/optview.py frontend/builtin_def.py frontend/consts.py frontend/id_kind_def.py frontend/lexer.py frontend/lexer_def.py frontend/match.py frontend/option_def.py frontend/reader.py frontend/syntax_abbrev.py mycpp/iolib.py mycpp/mops.py mycpp/mylib.py pgen2/grammar.py pgen2/parse.py pgen2/pgen.py pgen2/pnode.py pgen2/token.py pgen2/tokenize.py pylib/collections_.py
[24/66] asdl_main cpp --no-pretty-print-methods frontend/types.asdl _gen/frontend/types.asdl _gen/frontend/types.asdl_debug.py
[25/66] arith-parse-gen > _gen/osh/arith_parse.cc
[26/66] asdl_main cpp --abbrev-module=frontend.syntax_abbrev frontend/syntax.asdl _gen/frontend/syntax.asdl _gen/frontend/syntax.asdl_debug.py
[27/66] grammar_gen cpp ysh/grammar.pgen2 _gen/ysh
[28/66] cxx dbg '' mycpp/bump_leak_heap.cc _build/obj/cxx-dbg/mycpp/bump_leak_heap.o
[29/66] cxx dbg '' _gen/frontend/id_kind.asdl.cc _build/obj/cxx-dbg/_gen/frontend/id_kind.asdl.o
[30/66] cxx dbg '' _gen/display/pretty.asdl.cc _build/obj/cxx-dbg/_gen/display/pretty.asdl.o
[31/66] cxx dbg '' cpp/data_lang.cc _build/obj/cxx-dbg/cpp/data_lang.o
[32/66] cxx dbg '' mycpp/gc_builtins.cc _build/obj/cxx-dbg/mycpp/gc_builtins.o
[33/66] cxx dbg '' _gen/core/value.asdl.cc _build/obj/cxx-dbg/_gen/core/value.asdl.o
[34/66] cxx dbg '' _gen/core/runtime.asdl.cc _build/obj/cxx-dbg/_gen/core/runtime.asdl.o
[35/66] cxx dbg '' mycpp/gc_iolib.cc _build/obj/cxx-dbg/mycpp/gc_iolib.o
[36/66] cxx dbg '' mycpp/hash.cc _build/obj/cxx-dbg/mycpp/hash.o
[37/66] cxx dbg '' mycpp/gc_mops.cc _build/obj/cxx-dbg/mycpp/gc_mops.o
[38/66] cxx dbg '' mycpp/gc_mylib.cc _build/obj/cxx-dbg/mycpp/gc_mylib.o
[39/66] cxx dbg '' _gen/cpp/build_stamp.cc _build/obj/cxx-dbg/_gen/cpp/build_stamp.o
[40/66] cxx dbg '' _gen/bin/text_files.cc _build/obj/cxx-dbg/_gen/bin/text_files.o
[41/66] cxx dbg '' mycpp/mark_sweep_heap.cc _build/obj/cxx-dbg/mycpp/mark_sweep_heap.o
[42/66] cxx dbg '' cpp/fanos_shared.c _build/obj/cxx-dbg/cpp/fanos_shared.o
[43/66] cxx dbg '' _gen/frontend/syntax.asdl.cc _build/obj/cxx-dbg/_gen/frontend/syntax.asdl.o
[44/66] cxx dbg '' cpp/fanos.cc _build/obj/cxx-dbg/cpp/fanos.o
[45/66] cxx dbg '' cpp/core.cc _build/obj/cxx-dbg/cpp/core.o
[46/66] cxx dbg '' cpp/frontend_flag_spec.cc _build/obj/cxx-dbg/cpp/frontend_flag_spec.o
[47/66] cxx dbg '' cpp/frontend_pyreadline.cc _build/obj/cxx-dbg/cpp/frontend_pyreadline.o
[48/66] cxx dbg '' cpp/libc.cc _build/obj/cxx-dbg/cpp/libc.o
[49/66] cxx dbg '' cpp/frontend_match.cc _build/obj/cxx-dbg/cpp/frontend_match.o
[50/66] cxx dbg '' cpp/osh.cc _build/obj/cxx-dbg/cpp/osh.o
[51/66] cxx dbg '' cpp/osh_tdop.cc _build/obj/cxx-dbg/cpp/osh_tdop.o
[52/66] cxx dbg '' cpp/pylib.cc _build/obj/cxx-dbg/cpp/pylib.o
[53/66] cxx dbg '' cpp/pgen2.cc _build/obj/cxx-dbg/cpp/pgen2.o
[54/66] cxx dbg '' _gen/frontend/arg_types.cc _build/obj/cxx-dbg/_gen/frontend/arg_types.o
[55/66] cxx dbg '' _gen/data_lang/nil8.asdl.cc _build/obj/cxx-dbg/_gen/data_lang/nil8.asdl.o
[56/66] cxx dbg '' cpp/stdlib.cc _build/obj/cxx-dbg/cpp/stdlib.o
[57/66] cxx dbg '' _gen/frontend/signal.cc _build/obj/cxx-dbg/_gen/frontend/signal.o
[58/66] cxx dbg '' _gen/frontend/consts.cc _build/obj/cxx-dbg/_gen/frontend/consts.o
[59/66] cxx dbg '' _gen/frontend/help_meta.cc _build/obj/cxx-dbg/_gen/frontend/help_meta.o
[60/66] cxx dbg '' mycpp/gc_str.cc _build/obj/cxx-dbg/mycpp/gc_str.o
[61/66] cxx dbg '' _gen/osh/arith_parse.cc _build/obj/cxx-dbg/_gen/osh/arith_parse.o
[62/66] cxx dbg '' _gen/ysh/grammar_tables.cc _build/obj/cxx-dbg/_gen/ysh/grammar_tables.o
[63/66] gen-oils-for-unix oils_for_unix  _gen/bin/oils_for_unix.mycpp cpp/preamble.h asdl/format.py asdl/runtime.py bin/oils_for_unix.py builtin/assign_osh.py builtin/bracket_osh.py builtin/completion_osh.py builtin/completion_ysh.py builtin/dirs_osh.py builtin/error_ysh.py builtin/func_eggex.py builtin/func_hay.py builtin/func_misc.py builtin/func_reflect.py builtin/hay_ysh.py builtin/io_osh.py builtin/io_ysh.py builtin/json_ysh.py builtin/meta_oils.py builtin/method_dict.py builtin/method_io.py builtin/method_list.py builtin/method_other.py builtin/method_str.py builtin/method_type.py builtin/misc_osh.py builtin/module_ysh.py builtin/printf_osh.py builtin/process_osh.py builtin/pure_osh.py builtin/pure_ysh.py builtin/read_osh.py builtin/readline_osh.py builtin/trap_osh.py core/alloc.py core/bash_impl.py core/comp_ui.py core/completion.py core/dev.py core/error.py core/executor.py core/main_loop.py core/num.py core/process.py core/sh_init.py core/shell.py core/state.py core/util.py core/vm.py data_lang/j8.py data_lang/j8_lite.py display/ansi.py display/pp_hnode.py display/pp_value.py display/pretty.py display/ui.py frontend/args.py frontend/flag_util.py frontend/lexer.py frontend/location.py frontend/parse_lib.py frontend/reader.py frontend/syntax_abbrev.py frontend/typed_args.py osh/arith_parse.py osh/bool_parse.py osh/braces.py osh/cmd_eval.py osh/cmd_parse.py osh/glob_.py osh/history.py osh/prompt.py osh/sh_expr_eval.py osh/split.py osh/string_ops.py osh/tdop.py osh/word_.py osh/word_compile.py osh/word_eval.py osh/word_parse.py pgen2/parse.py pylib/os_path.py tools/fmt.py tools/ysh_ify.py ysh/expr_eval.py ysh/expr_parse.py ysh/expr_to_ast.py ysh/func_proc.py ysh/regex_translate.py ysh/val_ops.py
	mycpp: LOADING asdl/format.py asdl/runtime.py bin/oils_for_unix.py builtin/assign_osh.py builtin/bracket_osh.py builtin/completion_osh.py builtin/completion_ysh.py builtin/dirs_osh.py builtin/error_ysh.py builtin/func_eggex.py builtin/func_hay.py builtin/func_misc.py builtin/func_reflect.py builtin/hay_ysh.py builtin/io_osh.py builtin/io_ysh.py builtin/json_ysh.py builtin/meta_oils.py builtin/method_dict.py builtin/method_io.py builtin/method_list.py builtin/method_other.py builtin/method_str.py builtin/method_type.py builtin/misc_osh.py builtin/module_ysh.py builtin/printf_osh.py builtin/process_osh.py builtin/pure_osh.py builtin/pure_ysh.py builtin/read_osh.py builtin/readline_osh.py builtin/trap_osh.py core/alloc.py core/bash_impl.py core/comp_ui.py core/completion.py core/dev.py core/error.py core/executor.py core/main_loop.py core/num.py core/process.py core/sh_init.py core/shell.py core/state.py core/util.py core/vm.py data_lang/j8.py data_lang/j8_lite.py display/ansi.py display/pp_hnode.py display/pp_value.py display/pretty.py display/ui.py frontend/args.py frontend/flag_util.py frontend/lexer.py frontend/location.py frontend/parse_lib.py frontend/reader.py frontend/syntax_abbrev.py frontend/typed_args.py osh/arith_parse.py osh/bool_parse.py osh/braces.py osh/cmd_eval.py osh/cmd_parse.py osh/glob_.py osh/history.py osh/prompt.py osh/sh_expr_eval.py osh/split.py osh/string_ops.py osh/tdop.py osh/word_.py osh/word_compile.py osh/word_eval.py osh/word_parse.py pgen2/parse.py pylib/os_path.py tools/fmt.py tools/ysh_ify.py ysh/expr_eval.py ysh/expr_parse.py ysh/expr_to_ast.py ysh/func_proc.py ysh/regex_translate.py ysh/val_ops.py
	mycpp pass: CONVERT
	mycpp pass: CONTROL FLOW
	mycpp: dumping control flow graph to _tmp/mycpp-facts
	mycpp pass: CONST
	mycpp pass: DECL
	mycpp pass: IMPL
WARNING: builtin.assign_osh._PrintVariables() has 27 stack roots. Consider refactoring this function.
WARNING: builtin.hay_ysh.HayNode_.Run() has 18 stack roots. Consider refactoring this function.
WARNING: builtin.io_ysh.Pp.Run() has 22 stack roots. Consider refactoring this function.
WARNING: builtin.meta_oils.ShellFile._Use() has 19 stack roots. Consider refactoring this function.
WARNING: builtin.method_str.Replace.Call() has 26 stack roots. Consider refactoring this function.
WARNING: builtin.printf_osh.Printf._Percent() has 21 stack roots. Consider refactoring this function.
WARNING: builtin.printf_osh.Printf.Run() has 17 stack roots. Consider refactoring this function.
WARNING: core.completion.RootCompleter.Matches() has 31 stack roots. Consider refactoring this function.
WARNING: osh.cmd_parse.CommandParser._MaybeExpandAliases() has 17 stack roots. Consider refactoring this function.
WARNING: osh.history.Evaluator.Eval() has 19 stack roots. Consider refactoring this function.
WARNING: osh.word_eval.AbstractWordEvaluator._ApplyTestOp() has 19 stack roots. Consider refactoring this function.
WARNING: tools.ysh_ify.YshPrinter.DoCommand() has 18 stack roots. Consider refactoring this function.
WARNING: ysh.expr_eval.ExprEvaluator._EvalExpr() has 17 stack roots. Consider refactoring this function.
WARNING: ysh.expr_parse._PushYshTokens() has 27 stack roots. Consider refactoring this function.
WARNING: ysh.expr_to_ast.Transformer.Expr() has 18 stack roots. Consider refactoring this function.
WARNING: builtin.completion_osh.SpecBuilder.Build() has 18 stack roots. Consider refactoring this function.
WARNING: core.shell.Main() has 127 stack roots. Consider refactoring this function.
	mycpp DONE
[64/66] cxx dbg '' _gen/bin/oils_for_unix.mycpp.cc _build/obj/cxx-dbg/_gen/bin/oils_for_unix.mycpp.o
build/ninja-rules-cpp.sh: line 341: time: command not found
[65/66] LINK cxx dbg '' _bin/cxx-dbg/oils-for-unix _build/obj/cxx-dbg/_gen/bin/oils_for_unix.mycpp.o _build/obj/cxx-dbg/_gen/bin/text_files.o _build/obj/cxx-dbg/_gen/core/runtime.asdl.o _build/obj/cxx-dbg/_gen/core/value.asdl.o _build/obj/cxx-dbg/_gen/cpp/build_stamp.o _build/obj/cxx-dbg/cpp/core.o _build/obj/cxx-dbg/cpp/data_lang.o _build/obj/cxx-dbg/cpp/fanos.o _build/obj/cxx-dbg/cpp/fanos_shared.o _build/obj/cxx-dbg/cpp/frontend_flag_spec.o _build/obj/cxx-dbg/cpp/frontend_match.o _build/obj/cxx-dbg/cpp/frontend_pyreadline.o _build/obj/cxx-dbg/cpp/libc.o _build/obj/cxx-dbg/cpp/osh.o _build/obj/cxx-dbg/cpp/osh_tdop.o _build/obj/cxx-dbg/cpp/pgen2.o _build/obj/cxx-dbg/cpp/pylib.o _build/obj/cxx-dbg/cpp/stdlib.o _build/obj/cxx-dbg/_gen/data_lang/nil8.asdl.o _build/obj/cxx-dbg/_gen/display/pretty.asdl.o _build/obj/cxx-dbg/_gen/frontend/arg_types.o _build/obj/cxx-dbg/_gen/frontend/consts.o _build/obj/cxx-dbg/_gen/frontend/help_meta.o _build/obj/cxx-dbg/_gen/frontend/id_kind.asdl.o _build/obj/cxx-dbg/_gen/frontend/signal.o _build/obj/cxx-dbg/_gen/frontend/syntax.asdl.o _build/obj/cxx-dbg/mycpp/bump_leak_heap.o _build/obj/cxx-dbg/mycpp/gc_builtins.o _build/obj/cxx-dbg/mycpp/gc_iolib.o _build/obj/cxx-dbg/mycpp/gc_mops.o _build/obj/cxx-dbg/mycpp/gc_mylib.o _build/obj/cxx-dbg/mycpp/gc_str.o _build/obj/cxx-dbg/mycpp/hash.o _build/obj/cxx-dbg/mycpp/mark_sweep_heap.o _build/obj/cxx-dbg/_gen/osh/arith_parse.o _build/obj/cxx-dbg/_gen/ysh/grammar_tables.o
[66/66] SYMLINK _bin/cxx-dbg oils-for-unix osh
'osh' -> 'oils-for-unix'
run_snippet bash fgproc -
[foreground process]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1       1 sh
      8       1       1       1       1 bash
     21       8       1       1       1 bash
   1360      21       1       1       1 python2
   1361    1360       1       1       1 time-helper
   1362    1361       1       1       1 bash
   1837    1362       1       1       1 bash
   1838    1837       1       1       1 python2
   1839    1838       1       1       1 time-helper
   1840    1839       1       1       1 bash
   1841    1840       1       1       1 bash
   1842    1841       1       1       1 ps

run_snippet bash fgproc yes
[foreground process]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1    1849 sh
      8       1       1       1    1849 bash
     21       8       1       1    1849 bash
   1360      21       1       1    1849 python2
   1361    1360       1       1    1849 time-helper
   1362    1361       1       1    1849 bash
   1837    1362       1       1    1849 bash
   1845    1837       1       1    1849 python2
   1846    1845       1       1    1849 time-helper
   1847    1846       1       1    1849 bash
   1848    1847    1848       1    1849 bash
   1849    1848    1849       1    1849 ps

run_snippet bash bgproc -
[background process]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1       1 sh
      8       1       1       1       1 bash
     21       8       1       1       1 bash
   1360      21       1       1       1 python2
   1361    1360       1       1       1 time-helper
   1362    1361       1       1       1 bash
   1837    1362       1       1       1 bash
   1852    1837       1       1       1 python2
   1853    1852       1       1       1 time-helper
   1854    1853       1       1       1 bash
   1855    1854       1       1       1 bash
   1856    1855       1       1       1 ps

run_snippet bash bgproc yes
[1] 1863
[1]+  Done                    ps -o $PS_COLS
[background process]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1    1862 sh
      8       1       1       1    1862 bash
     21       8       1       1    1862 bash
   1360      21       1       1    1862 python2
   1361    1360       1       1    1862 time-helper
   1362    1361       1       1    1862 bash
   1837    1362       1       1    1862 bash
   1859    1837       1       1    1862 python2
   1860    1859       1       1    1862 time-helper
   1861    1860       1       1    1862 bash
   1862    1861    1862       1    1862 bash
   1863    1862    1863       1    1862 ps

run_snippet bash fgpipe -
[foreground pipeline, last is external]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1       1 sh
      8       1       1       1       1 bash
     21       8       1       1       1 bash
   1360      21       1       1       1 python2
   1361    1360       1       1       1 time-helper
   1362    1361       1       1       1 bash
   1837    1362       1       1       1 bash
   1866    1837       1       1       1 python2
   1867    1866       1       1       1 time-helper
   1868    1867       1       1       1 bash
   1869    1868       1       1       1 bash
   1870    1869       1       1       1 ps
   1871    1869       1       1       1 cat
   1872    1869       1       1       1 cat2

run_snippet bash fgpipe yes
[foreground pipeline, last is external]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1    1879 sh
      8       1       1       1    1879 bash
     21       8       1       1    1879 bash
   1360      21       1       1    1879 python2
   1361    1360       1       1    1879 time-helper
   1362    1361       1       1    1879 bash
   1837    1362       1       1    1879 bash
   1875    1837       1       1    1879 python2
   1876    1875       1       1    1879 time-helper
   1877    1876       1       1    1879 bash
   1878    1877    1878       1    1879 bash
   1879    1878    1879       1    1879 ps
   1880    1878    1879       1    1879 cat
   1881    1878    1879       1    1879 cat2

run_snippet bash fgpipe-lastpipe -
[foreground pipeline, last is builtin]
PID    PPID    PGID     SID   TPGID COMMAND
1       0       1       1       1 sh
8       1       1       1       1 bash
21       8       1       1       1 bash
1360      21       1       1       1 python2
1361    1360       1       1       1 time-helper
1362    1361       1       1       1 bash
1837    1362       1       1       1 bash
1884    1837       1       1       1 python2
1885    1884       1       1       1 time-helper
1886    1885       1       1       1 bash
1887    1886       1       1       1 bash
1888    1887       1       1       1 ps
1889    1887       1       1       1 cat2
1890    1887       1       1       1 bash

run_snippet bash fgpipe-lastpipe yes
[foreground pipeline, last is builtin]
PID    PPID    PGID     SID   TPGID COMMAND
1       0       1       1    1897 sh
8       1       1       1    1897 bash
21       8       1       1    1897 bash
1360      21       1       1    1897 python2
1361    1360       1       1    1897 time-helper
1362    1361       1       1    1897 bash
1837    1362       1       1    1897 bash
1893    1837       1       1    1897 python2
1894    1893       1       1    1897 time-helper
1895    1894       1       1    1897 bash
1896    1895    1896       1    1897 bash
1897    1896    1897       1    1897 ps
1898    1896    1897       1    1897 cat2
1899    1896    1897       1    1897 bash

run_snippet bash bgpipe -
[background pipeline]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1       1 sh
      8       1       1       1       1 bash
     21       8       1       1       1 bash
   1360      21       1       1       1 python2
   1361    1360       1       1       1 time-helper
   1362    1361       1       1       1 bash
   1837    1362       1       1       1 bash
   1902    1837       1       1       1 python2
   1903    1902       1       1       1 time-helper
   1904    1903       1       1       1 bash
   1905    1904       1       1       1 bash
   1906    1905       1       1       1 ps
   1907    1905       1       1       1 cat
   1908    1905       1       1       1 cat2

run_snippet bash bgpipe yes
[1] 1917
[1]+  Done                    ps -o $PS_COLS | cat | _tmp/cat2
[background pipeline]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1    1914 sh
      8       1       1       1    1914 bash
     21       8       1       1    1914 bash
   1360      21       1       1    1914 python2
   1361    1360       1       1    1914 time-helper
   1362    1361       1       1    1914 bash
   1837    1362       1       1    1914 bash
   1911    1837       1       1    1914 python2
   1912    1911       1       1    1914 time-helper
   1913    1912       1       1    1914 bash
   1914    1913    1914       1    1914 bash
   1915    1914    1915       1    1914 ps
   1916    1914    1915       1    1914 cat
   1917    1914    1915       1    1914 cat2

run_snippet bash bgpipe-lastpipe -
[background pipeline, last is builtin]
PID    PPID    PGID     SID   TPGID COMMAND
1       0       1       1       1 sh
8       1       1       1       1 bash
21       8       1       1       1 bash
1360      21       1       1       1 python2
1361    1360       1       1       1 time-helper
1362    1361       1       1       1 bash
1837    1362       1       1       1 bash
1920    1837       1       1       1 python2
1921    1920       1       1       1 time-helper
1922    1921       1       1       1 bash
1923    1922       1       1       1 bash
1924    1923       1       1       1 ps
1925    1923       1       1       1 cat2
1926    1923       1       1       1 bash

run_snippet bash bgpipe-lastpipe yes
[1] 1935
[1]+  Done                    ps -o $PS_COLS | _tmp/cat2 | while read -r line; do
    echo "$line";
done
[background pipeline, last is builtin]
PID    PPID    PGID     SID   TPGID COMMAND
1       0       1       1    1932 sh
8       1       1       1    1932 bash
21       8       1       1    1932 bash
1360      21       1       1    1932 python2
1361    1360       1       1    1932 time-helper
1362    1361       1       1    1932 bash
1837    1362       1       1    1932 bash
1929    1837       1       1    1932 python2
1930    1929       1       1    1932 time-helper
1931    1930       1       1    1932 bash
1932    1931    1932       1    1932 bash
1933    1932    1933       1    1932 ps
1934    1932    1933       1    1932 cat2
1935    1932    1933       1    1932 bash

run_snippet bash subshell -
[subshell]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1       1 sh
      8       1       1       1       1 bash
     21       8       1       1       1 bash
   1360      21       1       1       1 python2
   1361    1360       1       1       1 time-helper
   1362    1361       1       1       1 bash
   1837    1362       1       1       1 bash
   1938    1837       1       1       1 python2
   1939    1938       1       1       1 time-helper
   1940    1939       1       1       1 bash
   1941    1940       1       1       1 bash
   1942    1941       1       1       1 bash
   1943    1942       1       1       1 ps
ALIVE

run_snippet bash subshell yes
[subshell]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1    1950 sh
      8       1       1       1    1950 bash
     21       8       1       1    1950 bash
   1360      21       1       1    1950 python2
   1361    1360       1       1    1950 time-helper
   1362    1361       1       1    1950 bash
   1837    1362       1       1    1950 bash
   1946    1837       1       1    1950 python2
   1947    1946       1       1    1950 time-helper
   1948    1947       1       1    1950 bash
   1949    1948    1949       1    1950 bash
   1950    1949    1950       1    1950 bash
   1951    1950    1950       1    1950 ps
ALIVE

run_snippet bash csub -
[command sub]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1       1 sh
      8       1       1       1       1 bash
     21       8       1       1       1 bash
   1360      21       1       1       1 python2
   1361    1360       1       1       1 time-helper
   1362    1361       1       1       1 bash
   1837    1362       1       1       1 bash
   1954    1837       1       1       1 python2
   1955    1954       1       1       1 time-helper
   1956    1955       1       1       1 bash
   1957    1956       1       1       1 bash
   1958    1957       1       1       1 ps

run_snippet bash csub yes
[command sub]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1    1964 sh
      8       1       1       1    1964 bash
     21       8       1       1    1964 bash
   1360      21       1       1    1964 python2
   1361    1360       1       1    1964 time-helper
   1362    1361       1       1    1964 bash
   1837    1362       1       1    1964 bash
   1961    1837       1       1    1964 python2
   1962    1961       1       1    1964 time-helper
   1963    1962       1       1    1964 bash
   1964    1963    1964       1    1964 bash
   1965    1964    1964       1    1964 ps

run_snippet bash psub -
[process sub]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1       1 sh
      8       1       1       1       1 bash
     21       8       1       1       1 bash
   1360      21       1       1       1 python2
   1361    1360       1       1       1 time-helper
   1362    1361       1       1       1 bash
   1837    1362       1       1       1 bash
   1968    1837       1       1       1 python2
   1969    1968       1       1       1 time-helper
   1970    1969       1       1       1 bash
   1971    1970       1       1       1 bash
   1972    1971       1       1       1 bash
   1973    1971       1       1       1 cat
   1974    1972       1       1       1 ps

run_snippet bash psub yes
[process sub]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1    1982 sh
      8       1       1       1    1982 bash
     21       8       1       1    1982 bash
   1360      21       1       1    1982 python2
   1361    1360       1       1    1982 time-helper
   1362    1361       1       1    1982 bash
   1837    1362       1       1    1982 bash
   1977    1837       1       1    1982 python2
   1978    1977       1       1    1982 time-helper
   1979    1978       1       1    1982 bash
   1980    1979    1980       1    1982 bash
   1981    1980    1980       1    1982 bash
   1982    1980    1982       1    1982 cat
   1983    1981    1980       1    1982 ps

run_snippet dash fgproc -
[foreground process]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1       1 sh
      8       1       1       1       1 bash
     21       8       1       1       1 bash
   1360      21       1       1       1 python2
   1361    1360       1       1       1 time-helper
   1362    1361       1       1       1 bash
   1837    1362       1       1       1 bash
   1986    1837       1       1       1 python2
   1987    1986       1       1       1 time-helper
   1988    1987       1       1       1 bash
   1989    1988       1       1       1 dash
   1990    1989       1       1       1 ps

run_snippet dash fgproc yes
[foreground process]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1    1997 sh
      8       1       1       1    1997 bash
     21       8       1       1    1997 bash
   1360      21       1       1    1997 python2
   1361    1360       1       1    1997 time-helper
   1362    1361       1       1    1997 bash
   1837    1362       1       1    1997 bash
   1993    1837       1       1    1997 python2
   1994    1993       1       1    1997 time-helper
   1995    1994       1       1    1997 bash
   1996    1995    1996       1    1997 dash
   1997    1996    1997       1    1997 ps

run_snippet dash bgproc -
[background process]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1       1 sh
      8       1       1       1       1 bash
     21       8       1       1       1 bash
   1360      21       1       1       1 python2
   1361    1360       1       1       1 time-helper
   1362    1361       1       1       1 bash
   1837    1362       1       1       1 bash
   2000    1837       1       1       1 python2
   2001    2000       1       1       1 time-helper
   2002    2001       1       1       1 bash
   2003    2002       1       1       1 dash
   2004    2003       1       1       1 ps

run_snippet dash bgproc yes
[background process]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1    2010 sh
      8       1       1       1    2010 bash
     21       8       1       1    2010 bash
   1360      21       1       1    2010 python2
   1361    1360       1       1    2010 time-helper
   1362    1361       1       1    2010 bash
   1837    1362       1       1    2010 bash
   2007    1837       1       1    2010 python2
   2008    2007       1       1    2010 time-helper
   2009    2008       1       1    2010 bash
   2010    2009    2010       1    2010 dash
   2011    2010    2011       1    2010 ps

run_snippet dash fgpipe -
[foreground pipeline, last is external]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1       1 sh
      8       1       1       1       1 bash
     21       8       1       1       1 bash
   1360      21       1       1       1 python2
   1361    1360       1       1       1 time-helper
   1362    1361       1       1       1 bash
   1837    1362       1       1       1 bash
   2014    1837       1       1       1 python2
   2015    2014       1       1       1 time-helper
   2016    2015       1       1       1 bash
   2017    2016       1       1       1 dash
   2018    2017       1       1       1 ps
   2019    2017       1       1       1 cat
   2020    2017       1       1       1 cat2

run_snippet dash fgpipe yes
[foreground pipeline, last is external]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1    2027 sh
      8       1       1       1    2027 bash
     21       8       1       1    2027 bash
   1360      21       1       1    2027 python2
   1361    1360       1       1    2027 time-helper
   1362    1361       1       1    2027 bash
   1837    1362       1       1    2027 bash
   2023    1837       1       1    2027 python2
   2024    2023       1       1    2027 time-helper
   2025    2024       1       1    2027 bash
   2026    2025    2026       1    2027 dash
   2027    2026    2027       1    2027 ps
   2028    2026    2027       1    2027 cat
   2029    2026    2027       1    2027 cat2

run_snippet dash fgpipe-lastpipe -
[foreground pipeline, last is builtin]
PID    PPID    PGID     SID   TPGID COMMAND
1       0       1       1       1 sh
8       1       1       1       1 bash
21       8       1       1       1 bash
1360      21       1       1       1 python2
1361    1360       1       1       1 time-helper
1362    1361       1       1       1 bash
1837    1362       1       1       1 bash
2032    1837       1       1       1 python2
2033    2032       1       1       1 time-helper
2034    2033       1       1       1 bash
2035    2034       1       1       1 dash
2036    2035       1       1       1 ps
2037    2035       1       1       1 cat2
2038    2035       1       1       1 dash

run_snippet dash fgpipe-lastpipe yes
[foreground pipeline, last is builtin]
PID    PPID    PGID     SID   TPGID COMMAND
1       0       1       1    2045 sh
8       1       1       1    2045 bash
21       8       1       1    2045 bash
1360      21       1       1    2045 python2
1361    1360       1       1    2045 time-helper
1362    1361       1       1    2045 bash
1837    1362       1       1    2045 bash
2041    1837       1       1    2045 python2
2042    2041       1       1    2045 time-helper
2043    2042       1       1    2045 bash
2044    2043    2044       1    2045 dash
2045    2044    2045       1    2045 ps
2046    2044    2045       1    2045 cat2
2047    2044    2045       1    2045 dash

run_snippet dash bgpipe -
[background pipeline]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1       1 sh
      8       1       1       1       1 bash
     21       8       1       1       1 bash
   1360      21       1       1       1 python2
   1361    1360       1       1       1 time-helper
   1362    1361       1       1       1 bash
   1837    1362       1       1       1 bash
   2050    1837       1       1       1 python2
   2051    2050       1       1       1 time-helper
   2052    2051       1       1       1 bash
   2053    2052       1       1       1 dash
   2054    2053       1       1       1 ps
   2055    2053       1       1       1 cat
   2056    2053       1       1       1 cat2

run_snippet dash bgpipe yes
[background pipeline]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1    2062 sh
      8       1       1       1    2062 bash
     21       8       1       1    2062 bash
   1360      21       1       1    2062 python2
   1361    1360       1       1    2062 time-helper
   1362    1361       1       1    2062 bash
   1837    1362       1       1    2062 bash
   2059    1837       1       1    2062 python2
   2060    2059       1       1    2062 time-helper
   2061    2060       1       1    2062 bash
   2062    2061    2062       1    2062 dash
   2063    2062    2063       1    2062 ps
   2064    2062    2063       1    2062 cat
   2065    2062    2063       1    2062 cat2

run_snippet dash bgpipe-lastpipe -
[background pipeline, last is builtin]
PID    PPID    PGID     SID   TPGID COMMAND
1       0       1       1       1 sh
8       1       1       1       1 bash
21       8       1       1       1 bash
1360      21       1       1       1 python2
1361    1360       1       1       1 time-helper
1362    1361       1       1       1 bash
1837    1362       1       1       1 bash
2068    1837       1       1       1 python2
2069    2068       1       1       1 time-helper
2070    2069       1       1       1 bash
2071    2070       1       1       1 dash
2072    2071       1       1       1 ps
2073    2071       1       1       1 cat2
2074    2071       1       1       1 dash

run_snippet dash bgpipe-lastpipe yes
[background pipeline, last is builtin]
PID    PPID    PGID     SID   TPGID COMMAND
1       0       1       1    2080 sh
8       1       1       1    2080 bash
21       8       1       1    2080 bash
1360      21       1       1    2080 python2
1361    1360       1       1    2080 time-helper
1362    1361       1       1    2080 bash
1837    1362       1       1    2080 bash
2077    1837       1       1    2080 python2
2078    2077       1       1    2080 time-helper
2079    2078       1       1    2080 bash
2080    2079    2080       1    2080 dash
2081    2080    2081       1    2080 ps
2082    2080    2081       1    2080 cat2
2083    2080    2081       1    2080 dash

run_snippet dash subshell -
[subshell]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1       1 sh
      8       1       1       1       1 bash
     21       8       1       1       1 bash
   1360      21       1       1       1 python2
   1361    1360       1       1       1 time-helper
   1362    1361       1       1       1 bash
   1837    1362       1       1       1 bash
   2086    1837       1       1       1 python2
   2087    2086       1       1       1 time-helper
   2088    2087       1       1       1 bash
   2089    2088       1       1       1 dash
   2090    2089       1       1       1 dash
   2091    2090       1       1       1 ps
ALIVE

run_snippet dash subshell yes
[subshell]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1    2098 sh
      8       1       1       1    2098 bash
     21       8       1       1    2098 bash
   1360      21       1       1    2098 python2
   1361    1360       1       1    2098 time-helper
   1362    1361       1       1    2098 bash
   1837    1362       1       1    2098 bash
   2094    1837       1       1    2098 python2
   2095    2094       1       1    2098 time-helper
   2096    2095       1       1    2098 bash
   2097    2096    2097       1    2098 dash
   2098    2097    2098       1    2098 dash
   2099    2098    2098       1    2098 ps
ALIVE

run_snippet dash csub -
[command sub]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1       1 sh
      8       1       1       1       1 bash
     21       8       1       1       1 bash
   1360      21       1       1       1 python2
   1361    1360       1       1       1 time-helper
   1362    1361       1       1       1 bash
   1837    1362       1       1       1 bash
   2102    1837       1       1       1 python2
   2103    2102       1       1       1 time-helper
   2104    2103       1       1       1 bash
   2105    2104       1       1       1 dash
   2106    2105       1       1       1 ps

run_snippet dash csub yes
[command sub]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1    2112 sh
      8       1       1       1    2112 bash
     21       8       1       1    2112 bash
   1360      21       1       1    2112 python2
   1361    1360       1       1    2112 time-helper
   1362    1361       1       1    2112 bash
   1837    1362       1       1    2112 bash
   2109    1837       1       1    2112 python2
   2110    2109       1       1    2112 time-helper
   2111    2110       1       1    2112 bash
   2112    2111    2112       1    2112 dash
   2113    2112    2112       1    2112 ps

run_snippet dash psub -
malformed ps output

run_snippet dash psub yes
malformed ps output

run_snippet mksh fgproc -
[foreground process]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1       1 sh
      8       1       1       1       1 bash
     21       8       1       1       1 bash
   1360      21       1       1       1 python2
   1361    1360       1       1       1 time-helper
   1362    1361       1       1       1 bash
   1837    1362       1       1       1 bash
   2128    1837       1       1       1 python2
   2129    2128       1       1       1 time-helper
   2130    2129       1       1       1 bash
   2131    2130       1       1       1 mksh
   2132    2131       1       1       1 ps

run_snippet mksh fgproc yes
[foreground process]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1    2139 sh
      8       1       1       1    2139 bash
     21       8       1       1    2139 bash
   1360      21       1       1    2139 python2
   1361    1360       1       1    2139 time-helper
   1362    1361       1       1    2139 bash
   1837    1362       1       1    2139 bash
   2135    1837       1       1    2139 python2
   2136    2135       1       1    2139 time-helper
   2137    2136       1       1    2139 bash
   2138    2137    2138       1    2139 mksh
   2139    2138    2139       1    2139 ps

run_snippet mksh bgproc -
[background process]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1       1 sh
      8       1       1       1       1 bash
     21       8       1       1       1 bash
   1360      21       1       1       1 python2
   1361    1360       1       1       1 time-helper
   1362    1361       1       1       1 bash
   1837    1362       1       1       1 bash
   2142    1837       1       1       1 python2
   2143    2142       1       1       1 time-helper
   2144    2143       1       1       1 bash
   2145    2144       1       1       1 mksh
   2146    2145       1       1       1 ps

run_snippet mksh bgproc yes
[1] 2153
[1] + Done                 \ps -o $PS_COLS 
[background process]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1    2152 sh
      8       1       1       1    2152 bash
     21       8       1       1    2152 bash
   1360      21       1       1    2152 python2
   1361    1360       1       1    2152 time-helper
   1362    1361       1       1    2152 bash
   1837    1362       1       1    2152 bash
   2149    1837       1       1    2152 python2
   2150    2149       1       1    2152 time-helper
   2151    2150       1       1    2152 bash
   2152    2151    2152       1    2152 mksh
   2153    2152    2153       1    2152 ps

run_snippet mksh fgpipe -
[foreground pipeline, last is external]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1       1 sh
      8       1       1       1       1 bash
     21       8       1       1       1 bash
   1360      21       1       1       1 python2
   1361    1360       1       1       1 time-helper
   1362    1361       1       1       1 bash
   1837    1362       1       1       1 bash
   2156    1837       1       1       1 python2
   2157    2156       1       1       1 time-helper
   2158    2157       1       1       1 bash
   2159    2158       1       1       1 mksh
   2160    2159       1       1       1 ps
   2161    2159       1       1       1 mksh
   2162    2159       1       1       1 cat2

run_snippet mksh fgpipe yes
[foreground pipeline, last is external]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1    2169 sh
      8       1       1       1    2169 bash
     21       8       1       1    2169 bash
   1360      21       1       1    2169 python2
   1361    1360       1       1    2169 time-helper
   1362    1361       1       1    2169 bash
   1837    1362       1       1    2169 bash
   2165    1837       1       1    2169 python2
   2166    2165       1       1    2169 time-helper
   2167    2166       1       1    2169 bash
   2168    2167    2168       1    2169 mksh
   2169    2168    2169       1    2169 ps
   2170    2168    2169       1    2169 mksh
   2171    2168    2169       1    2169 cat2

run_snippet mksh fgpipe-lastpipe -
[foreground pipeline, last is builtin]
PID    PPID    PGID     SID   TPGID COMMAND
1       0       1       1       1 sh
8       1       1       1       1 bash
21       8       1       1       1 bash
1360      21       1       1       1 python2
1361    1360       1       1       1 time-helper
1362    1361       1       1       1 bash
1837    1362       1       1       1 bash
2174    1837       1       1       1 python2
2175    2174       1       1       1 time-helper
2176    2175       1       1       1 bash
2177    2176       1       1       1 mksh
2178    2177       1       1       1 ps
2179    2177       1       1       1 cat2
2180    2177       1       1       1 mksh

run_snippet mksh fgpipe-lastpipe yes
[foreground pipeline, last is builtin]
PID    PPID    PGID     SID   TPGID COMMAND
1       0       1       1    2187 sh
8       1       1       1    2187 bash
21       8       1       1    2187 bash
1360      21       1       1    2187 python2
1361    1360       1       1    2187 time-helper
1362    1361       1       1    2187 bash
1837    1362       1       1    2187 bash
2183    1837       1       1    2187 python2
2184    2183       1       1    2187 time-helper
2185    2184       1       1    2187 bash
2186    2185    2186       1    2187 mksh
2187    2186    2187       1    2187 ps
2188    2186    2187       1    2187 cat2
2189    2186    2187       1    2187 mksh

run_snippet mksh bgpipe -
[background pipeline]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1       1 sh
      8       1       1       1       1 bash
     21       8       1       1       1 bash
   1360      21       1       1       1 python2
   1361    1360       1       1       1 time-helper
   1362    1361       1       1       1 bash
   1837    1362       1       1       1 bash
   2192    1837       1       1       1 python2
   2193    2192       1       1       1 time-helper
   2194    2193       1       1       1 bash
   2195    2194       1       1       1 mksh
   2196    2195       1       1       1 ps
   2197    2195       1       1       1 mksh
   2198    2195       1       1       1 cat2

run_snippet mksh bgpipe yes
[1] 2205 2206 2207
[1] + Done                 \ps -o $PS_COLS | \cat | _tmp/cat2 
[background pipeline]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1    2204 sh
      8       1       1       1    2204 bash
     21       8       1       1    2204 bash
   1360      21       1       1    2204 python2
   1361    1360       1       1    2204 time-helper
   1362    1361       1       1    2204 bash
   1837    1362       1       1    2204 bash
   2201    1837       1       1    2204 python2
   2202    2201       1       1    2204 time-helper
   2203    2202       1       1    2204 bash
   2204    2203    2204       1    2204 mksh
   2205    2204    2205       1    2204 ps
   2206    2204    2205       1    2204 mksh
   2207    2204    2205       1    2204 cat2

run_snippet mksh bgpipe-lastpipe -
[background pipeline, last is builtin]
PID    PPID    PGID     SID   TPGID COMMAND
1       0       1       1       1 sh
8       1       1       1       1 bash
21       8       1       1       1 bash
1360      21       1       1       1 python2
1361    1360       1       1       1 time-helper
1362    1361       1       1       1 bash
1837    1362       1       1       1 bash
2210    1837       1       1       1 python2
2211    2210       1       1       1 time-helper
2212    2211       1       1       1 bash
2213    2212       1       1       1 mksh
2214    2213       1       1       1 ps
2215    2213       1       1       1 cat2
2216    2213       1       1       1 mksh

run_snippet mksh bgpipe-lastpipe yes
[1] 2223 2224 2225
[1] + Done                 \ps -o $PS_COLS | _tmp/cat2 | while \read -r line ; do \echo "$line" ; done 
[background pipeline, last is builtin]
PID    PPID    PGID     SID   TPGID COMMAND
1       0       1       1    2222 sh
8       1       1       1    2222 bash
21       8       1       1    2222 bash
1360      21       1       1    2222 python2
1361    1360       1       1    2222 time-helper
1362    1361       1       1    2222 bash
1837    1362       1       1    2222 bash
2219    1837       1       1    2222 python2
2220    2219       1       1    2222 time-helper
2221    2220       1       1    2222 bash
2222    2221    2222       1    2222 mksh
2223    2222    2223       1    2222 ps
2224    2222    2223       1    2222 cat2
2225    2222    2223       1    2222 mksh

run_snippet mksh subshell -
[subshell]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1       1 sh
      8       1       1       1       1 bash
     21       8       1       1       1 bash
   1360      21       1       1       1 python2
   1361    1360       1       1       1 time-helper
   1362    1361       1       1       1 bash
   1837    1362       1       1       1 bash
   2228    1837       1       1       1 python2
   2229    2228       1       1       1 time-helper
   2230    2229       1       1       1 bash
   2231    2230       1       1       1 mksh
   2232    2231       1       1       1 mksh
   2233    2232       1       1       1 ps
ALIVE

run_snippet mksh subshell yes
[subshell]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1    2240 sh
      8       1       1       1    2240 bash
     21       8       1       1    2240 bash
   1360      21       1       1    2240 python2
   1361    1360       1       1    2240 time-helper
   1362    1361       1       1    2240 bash
   1837    1362       1       1    2240 bash
   2236    1837       1       1    2240 python2
   2237    2236       1       1    2240 time-helper
   2238    2237       1       1    2240 bash
   2239    2238    2239       1    2240 mksh
   2240    2239    2240       1    2240 mksh
   2241    2240    2240       1    2240 ps
ALIVE

run_snippet mksh csub -
[command sub]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1       1 sh
      8       1       1       1       1 bash
     21       8       1       1       1 bash
   1360      21       1       1       1 python2
   1361    1360       1       1       1 time-helper
   1362    1361       1       1       1 bash
   1837    1362       1       1       1 bash
   2244    1837       1       1       1 python2
   2245    2244       1       1       1 time-helper
   2246    2245       1       1       1 bash
   2247    2246       1       1       1 mksh
   2248    2247       1       1       1 ps

run_snippet mksh csub yes
[command sub]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1    2254 sh
      8       1       1       1    2254 bash
     21       8       1       1    2254 bash
   1360      21       1       1    2254 python2
   1361    1360       1       1    2254 time-helper
   1362    1361       1       1    2254 bash
   1837    1362       1       1    2254 bash
   2251    1837       1       1    2254 python2
   2252    2251       1       1    2254 time-helper
   2253    2252       1       1    2254 bash
   2254    2253    2254       1    2254 mksh
   2255    2254    2254       1    2254 ps

run_snippet mksh psub -
malformed ps output

run_snippet mksh psub yes
malformed ps output

run_snippet zsh fgproc -
[foreground process]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1       1 sh
      8       1       1       1       1 bash
     21       8       1       1       1 bash
   1360      21       1       1       1 python2
   1361    1360       1       1       1 time-helper
   1362    1361       1       1       1 bash
   1837    1362       1       1       1 bash
   2270    1837       1       1       1 python2
   2271    2270       1       1       1 time-helper
   2272    2271       1       1       1 bash
   2273    2272       1       1       1 zsh
   2274    2273       1       1       1 ps

run_snippet zsh fgproc yes
[foreground process]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1    2282 sh
      8       1       1       1    2282 bash
     21       8       1       1    2282 bash
   1360      21       1       1    2282 python2
   1361    1360       1       1    2282 time-helper
   1362    1361       1       1    2282 bash
   1837    1362       1       1    2282 bash
   2277    1837       1       1    2282 python2
   2278    2277       1       1    2282 time-helper
   2279    2278       1       1    2282 bash
   2280    2279    2280       1    2282 zsh
   2282    2280    2282       1    2282 ps

run_snippet zsh bgproc -
[background process]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1       1 sh
      8       1       1       1       1 bash
     21       8       1       1       1 bash
   1360      21       1       1       1 python2
   1361    1360       1       1       1 time-helper
   1362    1361       1       1       1 bash
   1837    1362       1       1       1 bash
   2285    1837       1       1       1 python2
   2286    2285       1       1       1 time-helper
   2287    2286       1       1       1 bash
   2288    2287       1       1       1 zsh
   2289    2288       1       1       1 ps

run_snippet zsh bgproc yes
[background process]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1    2295 sh
      8       1       1       1    2295 bash
     21       8       1       1    2295 bash
   1360      21       1       1    2295 python2
   1361    1360       1       1    2295 time-helper
   1362    1361       1       1    2295 bash
   1837    1362       1       1    2295 bash
   2292    1837       1       1    2295 python2
   2293    2292       1       1    2295 time-helper
   2294    2293       1       1    2295 bash
   2295    2294    2295       1    2295 zsh
   2297    2295    2297       1    2295 ps

run_snippet zsh fgpipe -
[foreground pipeline, last is external]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1       1 sh
      8       1       1       1       1 bash
     21       8       1       1       1 bash
   1360      21       1       1       1 python2
   1361    1360       1       1       1 time-helper
   1362    1361       1       1       1 bash
   1837    1362       1       1       1 bash
   2300    1837       1       1       1 python2
   2301    2300       1       1       1 time-helper
   2302    2301       1       1       1 bash
   2303    2302       1       1       1 zsh
   2304    2303       1       1       1 ps
   2305    2303       1       1       1 cat
   2306    2303       1       1       1 cat2

run_snippet zsh fgpipe yes
[foreground pipeline, last is external]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1    2314 sh
      8       1       1       1    2314 bash
     21       8       1       1    2314 bash
   1360      21       1       1    2314 python2
   1361    1360       1       1    2314 time-helper
   1362    1361       1       1    2314 bash
   1837    1362       1       1    2314 bash
   2309    1837       1       1    2314 python2
   2310    2309       1       1    2314 time-helper
   2311    2310       1       1    2314 bash
   2312    2311    2312       1    2314 zsh
   2314    2312    2314       1    2314 ps
   2315    2312    2314       1    2314 cat
   2316    2312    2314       1    2314 cat2

run_snippet zsh fgpipe-lastpipe -
[foreground pipeline, last is builtin]
PID    PPID    PGID     SID   TPGID COMMAND
1       0       1       1       1 sh
8       1       1       1       1 bash
21       8       1       1       1 bash
1360      21       1       1       1 python2
1361    1360       1       1       1 time-helper
1362    1361       1       1       1 bash
1837    1362       1       1       1 bash
2319    1837       1       1       1 python2
2320    2319       1       1       1 time-helper
2321    2320       1       1       1 bash
2322    2321       1       1       1 zsh
2323    2322       1       1       1 ps
2324    2322       1       1       1 cat2

run_snippet zsh fgpipe-lastpipe yes
[foreground pipeline, last is builtin]
PID    PPID    PGID     SID   TPGID COMMAND
1       0       1       1    2332 sh
8       1       1       1    2332 bash
21       8       1       1    2332 bash
1360      21       1       1    2332 python2
1361    1360       1       1    2332 time-helper
1362    1361       1       1    2332 bash
1837    1362       1       1    2332 bash
2327    1837       1       1    2332 python2
2328    2327       1       1    2332 time-helper
2329    2328       1       1    2332 bash
2330    2329    2330       1    2332 zsh
2332    2330    2332       1    2332 ps
2333    2330    2332       1    2332 cat2

run_snippet zsh bgpipe -
[background pipeline]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1       1 sh
      8       1       1       1       1 bash
     21       8       1       1       1 bash
   1360      21       1       1       1 python2
   1361    1360       1       1       1 time-helper
   1362    1361       1       1       1 bash
   1837    1362       1       1       1 bash
   2336    1837       1       1       1 python2
   2337    2336       1       1       1 time-helper
   2338    2337       1       1       1 bash
   2339    2338       1       1       1 zsh
   2340    2339       1       1       1 ps
   2341    2339       1       1       1 cat
   2342    2339       1       1       1 cat2

run_snippet zsh bgpipe yes
[background pipeline]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1    2348 sh
      8       1       1       1    2348 bash
     21       8       1       1    2348 bash
   1360      21       1       1    2348 python2
   1361    1360       1       1    2348 time-helper
   1362    1361       1       1    2348 bash
   1837    1362       1       1    2348 bash
   2345    1837       1       1    2348 python2
   2346    2345       1       1    2348 time-helper
   2347    2346       1       1    2348 bash
   2348    2347    2348       1    2348 zsh
   2350    2348    2350       1    2348 ps
   2351    2348    2350       1    2348 cat
   2352    2348    2350       1    2348 cat2

run_snippet zsh bgpipe-lastpipe -
[background pipeline, last is builtin]
PID    PPID    PGID     SID   TPGID COMMAND
1       0       1       1       1 sh
8       1       1       1       1 bash
21       8       1       1       1 bash
1360      21       1       1       1 python2
1361    1360       1       1       1 time-helper
1362    1361       1       1       1 bash
1837    1362       1       1       1 bash
2355    1837       1       1       1 python2
2356    2355       1       1       1 time-helper
2357    2356       1       1       1 bash
2358    2357       1       1       1 zsh
2359    2358       1       1       1 ps
2360    2358       1       1       1 cat2
2361    2358       1       1       1 zsh

run_snippet zsh bgpipe-lastpipe yes
[background pipeline, last is builtin]
PID    PPID    PGID     SID   TPGID COMMAND
1       0       1       1    2367 sh
8       1       1       1    2367 bash
21       8       1       1    2367 bash
1360      21       1       1    2367 python2
1361    1360       1       1    2367 time-helper
1362    1361       1       1    2367 bash
1837    1362       1       1    2367 bash
2364    1837       1       1    2367 python2
2365    2364       1       1    2367 time-helper
2366    2365       1       1    2367 bash
2367    2366    2367       1    2367 zsh
2369    2367    2369       1    2367 ps
2370    2367    2369       1    2367 cat2
2371    2367    2369       1    2367 zsh

run_snippet zsh subshell -
[subshell]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1       1 sh
      8       1       1       1       1 bash
     21       8       1       1       1 bash
   1360      21       1       1       1 python2
   1361    1360       1       1       1 time-helper
   1362    1361       1       1       1 bash
   1837    1362       1       1       1 bash
   2374    1837       1       1       1 python2
   2375    2374       1       1       1 time-helper
   2376    2375       1       1       1 bash
   2377    2376       1       1       1 zsh
   2378    2377       1       1       1 zsh
   2379    2378       1       1       1 ps
ALIVE

run_snippet zsh subshell yes
[subshell]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1    2387 sh
      8       1       1       1    2387 bash
     21       8       1       1    2387 bash
   1360      21       1       1    2387 python2
   1361    1360       1       1    2387 time-helper
   1362    1361       1       1    2387 bash
   1837    1362       1       1    2387 bash
   2382    1837       1       1    2387 python2
   2383    2382       1       1    2387 time-helper
   2384    2383       1       1    2387 bash
   2385    2384    2385       1    2387 zsh
   2387    2385    2387       1    2387 zsh
   2388    2387    2387       1    2387 ps
ALIVE

run_snippet zsh csub -
[command sub]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1       1 sh
      8       1       1       1       1 bash
     21       8       1       1       1 bash
   1360      21       1       1       1 python2
   1361    1360       1       1       1 time-helper
   1362    1361       1       1       1 bash
   1837    1362       1       1       1 bash
   2391    1837       1       1       1 python2
   2392    2391       1       1       1 time-helper
   2393    2392       1       1       1 bash
   2394    2393       1       1       1 zsh
   2395    2394       1       1       1 ps

run_snippet zsh csub yes
[command sub]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1    2401 sh
      8       1       1       1    2401 bash
     21       8       1       1    2401 bash
   1360      21       1       1    2401 python2
   1361    1360       1       1    2401 time-helper
   1362    1361       1       1    2401 bash
   1837    1362       1       1    2401 bash
   2398    1837       1       1    2401 python2
   2399    2398       1       1    2401 time-helper
   2400    2399       1       1    2401 bash
   2401    2400    2401       1    2401 zsh
   2403    2401    2401       1    2401 ps

run_snippet zsh psub -
[process sub]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1       1 sh
      8       1       1       1       1 bash
     21       8       1       1       1 bash
   1360      21       1       1       1 python2
   1361    1360       1       1       1 time-helper
   1362    1361       1       1       1 bash
   1837    1362       1       1       1 bash
   2406    1837       1       1       1 python2
   2407    2406       1       1       1 time-helper
   2408    2407       1       1       1 bash
   2409    2408       1       1       1 zsh
   2410    2409       1       1       1 ps
   2411    2409       1       1       1 cat

run_snippet zsh psub yes
[process sub]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1    2420 sh
      8       1       1       1    2420 bash
     21       8       1       1    2420 bash
   1360      21       1       1    2420 python2
   1361    1360       1       1    2420 time-helper
   1362    1361       1       1    2420 bash
   1837    1362       1       1    2420 bash
   2414    1837       1       1    2420 python2
   2415    2414       1       1    2420 time-helper
   2416    2415       1       1    2420 bash
   2417    2416    2417       1    2420 zsh
   2419    2417    2419       1    2420 ps
   2420    2417    2420       1    2420 cat

run_snippet bin/osh fgproc -
[foreground process]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1       1 sh
      8       1       1       1       1 bash
     21       8       1       1       1 bash
   1360      21       1       1       1 python2
   1361    1360       1       1       1 time-helper
   1362    1361       1       1       1 bash
   1837    1362       1       1       1 bash
   2423    1837       1       1       1 python2
   2424    2423       1       1       1 time-helper
   2425    2424       1       1       1 bash
   2426    2425       1       1       1 python2
   2429    2426       1       1       1 ps

run_snippet bin/osh fgproc yes
[foreground process]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1    2438 sh
      8       1       1       1    2438 bash
     21       8       1       1    2438 bash
   1360      21       1       1    2438 python2
   1361    1360       1       1    2438 time-helper
   1362    1361       1       1    2438 bash
   1837    1362       1       1    2438 bash
   2432    1837       1       1    2438 python2
   2433    2432       1       1    2438 time-helper
   2434    2433       1       1    2438 bash
   2435    2434    2435       1    2438 python2
   2438    2435    2438       1    2438 ps

run_snippet bin/osh bgproc -
[%1] PID 2447 Done
[background process]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1       1 sh
      8       1       1       1       1 bash
     21       8       1       1       1 bash
   1360      21       1       1       1 python2
   1361    1360       1       1       1 time-helper
   1362    1361       1       1       1 bash
   1837    1362       1       1       1 bash
   2441    1837       1       1       1 python2
   2442    2441       1       1       1 time-helper
   2443    2442       1       1       1 bash
   2444    2443       1       1       1 python2
   2447    2444       1       1       1 ps

run_snippet bin/osh bgproc yes
[%1] PID 2456 Started
[%1] PID 2456 Done
[background process]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1    2453 sh
      8       1       1       1    2453 bash
     21       8       1       1    2453 bash
   1360      21       1       1    2453 python2
   1361    1360       1       1    2453 time-helper
   1362    1361       1       1    2453 bash
   1837    1362       1       1    2453 bash
   2450    1837       1       1    2453 python2
   2451    2450       1       1    2453 time-helper
   2452    2451       1       1    2453 bash
   2453    2452    2453       1    2453 python2
   2456    2453    2456       1    2453 ps

run_snippet bin/osh fgpipe -
[foreground pipeline, last is external]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1       1 sh
      8       1       1       1       1 bash
     21       8       1       1       1 bash
   1360      21       1       1       1 python2
   1361    1360       1       1       1 time-helper
   1362    1361       1       1       1 bash
   1837    1362       1       1       1 bash
   2459    1837       1       1       1 python2
   2460    2459       1       1       1 time-helper
   2461    2460       1       1       1 bash
   2462    2461       1       1       1 python2
   2465    2462       1       1       1 ps
   2466    2462       1       1       1 cat
   2467    2462       1       1       1 cat2

run_snippet bin/osh fgpipe yes
[foreground pipeline, last is external]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1    2476 sh
      8       1       1       1    2476 bash
     21       8       1       1    2476 bash
   1360      21       1       1    2476 python2
   1361    1360       1       1    2476 time-helper
   1362    1361       1       1    2476 bash
   1837    1362       1       1    2476 bash
   2470    1837       1       1    2476 python2
   2471    2470       1       1    2476 time-helper
   2472    2471       1       1    2476 bash
   2473    2472    2473       1    2476 python2
   2476    2473    2476       1    2476 ps
   2477    2473    2476       1    2476 cat
   2478    2473    2476       1    2476 cat2

run_snippet bin/osh fgpipe-lastpipe -
[foreground pipeline, last is builtin]
PID    PPID    PGID     SID   TPGID COMMAND
1       0       1       1       1 sh
8       1       1       1       1 bash
21       8       1       1       1 bash
1360      21       1       1       1 python2
1361    1360       1       1       1 time-helper
1362    1361       1       1       1 bash
1837    1362       1       1       1 bash
2481    1837       1       1       1 python2
2482    2481       1       1       1 time-helper
2483    2482       1       1       1 bash
2484    2483       1       1       1 python2
2487    2484       1       1       1 ps
2488    2484       1       1       1 cat2

run_snippet bin/osh fgpipe-lastpipe yes
[foreground pipeline, last is builtin]
PID    PPID    PGID     SID   TPGID COMMAND
1       0       1       1    2497 sh
8       1       1       1    2497 bash
21       8       1       1    2497 bash
1360      21       1       1    2497 python2
1361    1360       1       1    2497 time-helper
1362    1361       1       1    2497 bash
1837    1362       1       1    2497 bash
2491    1837       1       1    2497 python2
2492    2491       1       1    2497 time-helper
2493    2492       1       1    2497 bash
2494    2493    2494       1    2497 python2
2497    2494    2497       1    2497 ps
2498    2494    2497       1    2497 cat2

run_snippet bin/osh bgpipe -
[%1] PGID 2507 Done
[background pipeline]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1       1 sh
      8       1       1       1       1 bash
     21       8       1       1       1 bash
   1360      21       1       1       1 python2
   1361    1360       1       1       1 time-helper
   1362    1361       1       1       1 bash
   1837    1362       1       1       1 bash
   2501    1837       1       1       1 python2
   2502    2501       1       1       1 time-helper
   2503    2502       1       1       1 bash
   2504    2503       1       1       1 python2
   2507    2504       1       1       1 ps
   2508    2504       1       1       1 cat
   2509    2504       1       1       1 cat2

run_snippet bin/osh bgpipe yes
[%1] PID 2520 Started
[%1] PGID 2518 Done
[background pipeline]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1    2515 sh
      8       1       1       1    2515 bash
     21       8       1       1    2515 bash
   1360      21       1       1    2515 python2
   1361    1360       1       1    2515 time-helper
   1362    1361       1       1    2515 bash
   1837    1362       1       1    2515 bash
   2512    1837       1       1    2515 python2
   2513    2512       1       1    2515 time-helper
   2514    2513       1       1    2515 bash
   2515    2514    2515       1    2515 python2
   2518    2515    2518       1    2515 ps
   2519    2515    2518       1    2515 cat
   2520    2515    2518       1    2515 cat2

run_snippet bin/osh bgpipe-lastpipe -
[%1] PGID 2529 Done
[background pipeline, last is builtin]
PID    PPID    PGID     SID   TPGID COMMAND
1       0       1       1       1 sh
8       1       1       1       1 bash
21       8       1       1       1 bash
1360      21       1       1       1 python2
1361    1360       1       1       1 time-helper
1362    1361       1       1       1 bash
1837    1362       1       1       1 bash
2523    1837       1       1       1 python2
2524    2523       1       1       1 time-helper
2525    2524       1       1       1 bash
2526    2525       1       1       1 python2
2529    2526       1       1       1 ps
2530    2526       1       1       1 cat2
2531    2526       1       1       1 python2

run_snippet bin/osh bgpipe-lastpipe yes
[%1] PID 2542 Started
[%1] PGID 2540 Done
[background pipeline, last is builtin]
PID    PPID    PGID     SID   TPGID COMMAND
1       0       1       1    2537 sh
8       1       1       1    2537 bash
21       8       1       1    2537 bash
1360      21       1       1    2537 python2
1361    1360       1       1    2537 time-helper
1362    1361       1       1    2537 bash
1837    1362       1       1    2537 bash
2534    1837       1       1    2537 python2
2535    2534       1       1    2537 time-helper
2536    2535       1       1    2537 bash
2537    2536    2537       1    2537 python2
2540    2537    2540       1    2537 ps
2541    2537    2540       1    2537 cat2
2542    2537    2540       1    2537 python2

run_snippet bin/osh subshell -
[subshell]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1       1 sh
      8       1       1       1       1 bash
     21       8       1       1       1 bash
   1360      21       1       1       1 python2
   1361    1360       1       1       1 time-helper
   1362    1361       1       1       1 bash
   1837    1362       1       1       1 bash
   2545    1837       1       1       1 python2
   2546    2545       1       1       1 time-helper
   2547    2546       1       1       1 bash
   2548    2547       1       1       1 python2
   2551    2548       1       1       1 python2
   2552    2551       1       1       1 ps
ALIVE

run_snippet bin/osh subshell yes
[subshell]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1    2561 sh
      8       1       1       1    2561 bash
     21       8       1       1    2561 bash
   1360      21       1       1    2561 python2
   1361    1360       1       1    2561 time-helper
   1362    1361       1       1    2561 bash
   1837    1362       1       1    2561 bash
   2555    1837       1       1    2561 python2
   2556    2555       1       1    2561 time-helper
   2557    2556       1       1    2561 bash
   2558    2557    2558       1    2561 python2
   2561    2558    2561       1    2561 python2
   2562    2561    2561       1    2561 ps
ALIVE

run_snippet bin/osh csub -
[command sub]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1       1 sh
      8       1       1       1       1 bash
     21       8       1       1       1 bash
   1360      21       1       1       1 python2
   1361    1360       1       1       1 time-helper
   1362    1361       1       1       1 bash
   1837    1362       1       1       1 bash
   2565    1837       1       1       1 python2
   2566    2565       1       1       1 time-helper
   2567    2566       1       1       1 bash
   2568    2567       1       1       1 python2
   2571    2568       1       1       1 ps

run_snippet bin/osh csub yes
[command sub]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1    2577 sh
      8       1       1       1    2577 bash
     21       8       1       1    2577 bash
   1360      21       1       1    2577 python2
   1361    1360       1       1    2577 time-helper
   1362    1361       1       1    2577 bash
   1837    1362       1       1    2577 bash
   2574    1837       1       1    2577 python2
   2575    2574       1       1    2577 time-helper
   2576    2575       1       1    2577 bash
   2577    2576    2577       1    2577 python2
   2580    2577    2577       1    2577 ps

run_snippet bin/osh psub -
[process sub]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1       1 sh
      8       1       1       1       1 bash
     21       8       1       1       1 bash
   1360      21       1       1       1 python2
   1361    1360       1       1       1 time-helper
   1362    1361       1       1       1 bash
   1837    1362       1       1       1 bash
   2583    1837       1       1       1 python2
   2584    2583       1       1       1 time-helper
   2585    2584       1       1       1 bash
   2586    2585       1       1       1 python2
   2589    2586       1       1       1 ps
   2590    2586       1       1       1 cat

run_snippet bin/osh psub yes
[process sub]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1    2600 sh
      8       1       1       1    2600 bash
     21       8       1       1    2600 bash
   1360      21       1       1    2600 python2
   1361    1360       1       1    2600 time-helper
   1362    1361       1       1    2600 bash
   1837    1362       1       1    2600 bash
   2593    1837       1       1    2600 python2
   2594    2593       1       1    2600 time-helper
   2595    2594       1       1    2600 bash
   2596    2595    2596       1    2600 python2
   2599    2596    2599       1    2600 ps
   2600    2596    2600       1    2600 cat

run_snippet _bin/cxx-dbg/osh fgproc -
[foreground process]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1       1 sh
      8       1       1       1       1 bash
     21       8       1       1       1 bash
   1360      21       1       1       1 python2
   1361    1360       1       1       1 time-helper
   1362    1361       1       1       1 bash
   1837    1362       1       1       1 bash
   2603    1837       1       1       1 python2
   2604    2603       1       1       1 time-helper
   2605    2604       1       1       1 bash
   2606    2605       1       1       1 osh
   2607    2606       1       1       1 ps

run_snippet _bin/cxx-dbg/osh fgproc yes
[foreground process]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1    2614 sh
      8       1       1       1    2614 bash
     21       8       1       1    2614 bash
   1360      21       1       1    2614 python2
   1361    1360       1       1    2614 time-helper
   1362    1361       1       1    2614 bash
   1837    1362       1       1    2614 bash
   2610    1837       1       1    2614 python2
   2611    2610       1       1    2614 time-helper
   2612    2611       1       1    2614 bash
   2613    2612    2613       1    2614 osh
   2614    2613    2614       1    2614 ps

run_snippet _bin/cxx-dbg/osh bgproc -
[%1] PID 2621 Done
[background process]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1       1 sh
      8       1       1       1       1 bash
     21       8       1       1       1 bash
   1360      21       1       1       1 python2
   1361    1360       1       1       1 time-helper
   1362    1361       1       1       1 bash
   1837    1362       1       1       1 bash
   2617    1837       1       1       1 python2
   2618    2617       1       1       1 time-helper
   2619    2618       1       1       1 bash
   2620    2619       1       1       1 osh
   2621    2620       1       1       1 ps

run_snippet _bin/cxx-dbg/osh bgproc yes
[%1] PID 2628 Started
[%1] PID 2628 Done
[background process]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1    2627 sh
      8       1       1       1    2627 bash
     21       8       1       1    2627 bash
   1360      21       1       1    2627 python2
   1361    1360       1       1    2627 time-helper
   1362    1361       1       1    2627 bash
   1837    1362       1       1    2627 bash
   2624    1837       1       1    2627 python2
   2625    2624       1       1    2627 time-helper
   2626    2625       1       1    2627 bash
   2627    2626    2627       1    2627 osh
   2628    2627    2628       1    2627 ps

run_snippet _bin/cxx-dbg/osh fgpipe -
[foreground pipeline, last is external]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1       1 sh
      8       1       1       1       1 bash
     21       8       1       1       1 bash
   1360      21       1       1       1 python2
   1361    1360       1       1       1 time-helper
   1362    1361       1       1       1 bash
   1837    1362       1       1       1 bash
   2631    1837       1       1       1 python2
   2632    2631       1       1       1 time-helper
   2633    2632       1       1       1 bash
   2634    2633       1       1       1 osh
   2635    2634       1       1       1 ps
   2636    2634       1       1       1 cat
   2637    2634       1       1       1 cat2

run_snippet _bin/cxx-dbg/osh fgpipe yes
[foreground pipeline, last is external]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1    2644 sh
      8       1       1       1    2644 bash
     21       8       1       1    2644 bash
   1360      21       1       1    2644 python2
   1361    1360       1       1    2644 time-helper
   1362    1361       1       1    2644 bash
   1837    1362       1       1    2644 bash
   2640    1837       1       1    2644 python2
   2641    2640       1       1    2644 time-helper
   2642    2641       1       1    2644 bash
   2643    2642    2643       1    2644 osh
   2644    2643    2644       1    2644 ps
   2645    2643    2644       1    2644 cat
   2646    2643    2644       1    2644 cat2

run_snippet _bin/cxx-dbg/osh fgpipe-lastpipe -
[foreground pipeline, last is builtin]
PID    PPID    PGID     SID   TPGID COMMAND
1       0       1       1       1 sh
8       1       1       1       1 bash
21       8       1       1       1 bash
1360      21       1       1       1 python2
1361    1360       1       1       1 time-helper
1362    1361       1       1       1 bash
1837    1362       1       1       1 bash
2649    1837       1       1       1 python2
2650    2649       1       1       1 time-helper
2651    2650       1       1       1 bash
2652    2651       1       1       1 osh
2653    2652       1       1       1 ps
2654    2652       1       1       1 cat2

run_snippet _bin/cxx-dbg/osh fgpipe-lastpipe yes
[foreground pipeline, last is builtin]
PID    PPID    PGID     SID   TPGID COMMAND
1       0       1       1    2661 sh
8       1       1       1    2661 bash
21       8       1       1    2661 bash
1360      21       1       1    2661 python2
1361    1360       1       1    2661 time-helper
1362    1361       1       1    2661 bash
1837    1362       1       1    2661 bash
2657    1837       1       1    2661 python2
2658    2657       1       1    2661 time-helper
2659    2658       1       1    2661 bash
2660    2659    2660       1    2661 osh
2661    2660    2661       1    2661 ps
2662    2660    2661       1    2661 cat2

run_snippet _bin/cxx-dbg/osh bgpipe -
[%1] PGID 2669 Done
[background pipeline]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1       1 sh
      8       1       1       1       1 bash
     21       8       1       1       1 bash
   1360      21       1       1       1 python2
   1361    1360       1       1       1 time-helper
   1362    1361       1       1       1 bash
   1837    1362       1       1       1 bash
   2665    1837       1       1       1 python2
   2666    2665       1       1       1 time-helper
   2667    2666       1       1       1 bash
   2668    2667       1       1       1 osh
   2669    2668       1       1       1 ps
   2670    2668       1       1       1 cat
   2671    2668       1       1       1 cat2

run_snippet _bin/cxx-dbg/osh bgpipe yes
[%1] PID 2680 Started
[%1] PGID 2678 Done
[background pipeline]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1    2677 sh
      8       1       1       1    2677 bash
     21       8       1       1    2677 bash
   1360      21       1       1    2677 python2
   1361    1360       1       1    2677 time-helper
   1362    1361       1       1    2677 bash
   1837    1362       1       1    2677 bash
   2674    1837       1       1    2677 python2
   2675    2674       1       1    2677 time-helper
   2676    2675       1       1    2677 bash
   2677    2676    2677       1    2677 osh
   2678    2677    2678       1    2677 ps
   2679    2677    2678       1    2677 cat
   2680    2677    2678       1    2677 cat2

run_snippet _bin/cxx-dbg/osh bgpipe-lastpipe -
[%1] PGID 2687 Done
[background pipeline, last is builtin]
PID    PPID    PGID     SID   TPGID COMMAND
1       0       1       1       1 sh
8       1       1       1       1 bash
21       8       1       1       1 bash
1360      21       1       1       1 python2
1361    1360       1       1       1 time-helper
1362    1361       1       1       1 bash
1837    1362       1       1       1 bash
2683    1837       1       1       1 python2
2684    2683       1       1       1 time-helper
2685    2684       1       1       1 bash
2686    2685       1       1       1 osh
2687    2686       1       1       1 ps
2688    2686       1       1       1 cat2
2689    2686       1       1       1 osh

run_snippet _bin/cxx-dbg/osh bgpipe-lastpipe yes
[%1] PID 2698 Started
[%1] PGID 2696 Done
[background pipeline, last is builtin]
PID    PPID    PGID     SID   TPGID COMMAND
1       0       1       1    2695 sh
8       1       1       1    2695 bash
21       8       1       1    2695 bash
1360      21       1       1    2695 python2
1361    1360       1       1    2695 time-helper
1362    1361       1       1    2695 bash
1837    1362       1       1    2695 bash
2692    1837       1       1    2695 python2
2693    2692       1       1    2695 time-helper
2694    2693       1       1    2695 bash
2695    2694    2695       1    2695 osh
2696    2695    2696       1    2695 ps
2697    2695    2696       1    2695 cat2
2698    2695    2696       1    2695 osh

run_snippet _bin/cxx-dbg/osh subshell -
[subshell]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1       1 sh
      8       1       1       1       1 bash
     21       8       1       1       1 bash
   1360      21       1       1       1 python2
   1361    1360       1       1       1 time-helper
   1362    1361       1       1       1 bash
   1837    1362       1       1       1 bash
   2701    1837       1       1       1 python2
   2702    2701       1       1       1 time-helper
   2703    2702       1       1       1 bash
   2704    2703       1       1       1 osh
   2705    2704       1       1       1 osh
   2706    2705       1       1       1 ps
ALIVE

run_snippet _bin/cxx-dbg/osh subshell yes
[subshell]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1    2713 sh
      8       1       1       1    2713 bash
     21       8       1       1    2713 bash
   1360      21       1       1    2713 python2
   1361    1360       1       1    2713 time-helper
   1362    1361       1       1    2713 bash
   1837    1362       1       1    2713 bash
   2709    1837       1       1    2713 python2
   2710    2709       1       1    2713 time-helper
   2711    2710       1       1    2713 bash
   2712    2711    2712       1    2713 osh
   2713    2712    2713       1    2713 osh
   2714    2713    2713       1    2713 ps
ALIVE

run_snippet _bin/cxx-dbg/osh csub -
[command sub]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1       1 sh
      8       1       1       1       1 bash
     21       8       1       1       1 bash
   1360      21       1       1       1 python2
   1361    1360       1       1       1 time-helper
   1362    1361       1       1       1 bash
   1837    1362       1       1       1 bash
   2717    1837       1       1       1 python2
   2718    2717       1       1       1 time-helper
   2719    2718       1       1       1 bash
   2720    2719       1       1       1 osh
   2721    2720       1       1       1 ps

run_snippet _bin/cxx-dbg/osh csub yes
[command sub]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1    2727 sh
      8       1       1       1    2727 bash
     21       8       1       1    2727 bash
   1360      21       1       1    2727 python2
   1361    1360       1       1    2727 time-helper
   1362    1361       1       1    2727 bash
   1837    1362       1       1    2727 bash
   2724    1837       1       1    2727 python2
   2725    2724       1       1    2727 time-helper
   2726    2725       1       1    2727 bash
   2727    2726    2727       1    2727 osh
   2728    2727    2727       1    2727 ps

run_snippet _bin/cxx-dbg/osh psub -
[process sub]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1       1 sh
      8       1       1       1       1 bash
     21       8       1       1       1 bash
   1360      21       1       1       1 python2
   1361    1360       1       1       1 time-helper
   1362    1361       1       1       1 bash
   1837    1362       1       1       1 bash
   2731    1837       1       1       1 python2
   2732    2731       1       1       1 time-helper
   2733    2732       1       1       1 bash
   2734    2733       1       1       1 osh
   2735    2734       1       1       1 ps
   2736    2734       1       1       1 cat

run_snippet _bin/cxx-dbg/osh psub yes
[process sub]
    PID    PPID    PGID     SID   TPGID COMMAND
      1       0       1       1    2744 sh
      8       1       1       1    2744 bash
     21       8       1       1    2744 bash
   1360      21       1       1    2744 python2
   1361    1360       1       1    2744 time-helper
   1362    1361       1       1    2744 bash
   1837    1362       1       1    2744 bash
   2739    1837       1       1    2744 python2
   2740    2739       1       1    2744 time-helper
   2741    2740       1       1    2744 bash
   2742    2741    2742       1    2744 osh
   2743    2742    2743       1    2744 ps
   2744    2742    2744       1    2744 cat

Wrote _tmp/process-table/index.html