- Detect the active shell on illumos, Solaris, and AIX/IBM i. Their System V `/proc` exposes process status as a binary `pstatus_t` and has no `/proc/<pid>/cmdline` or `exe`: the `/proc` walk previously decoded that binary as text and raised `UnicodeDecodeError`, crashing `current_shell()`. It now reads `/proc` records as bytes, and the process-tree walk falls back to `ps` when `/proc` yields nothing. The `ps` invocation uses the portable POSIX form (`-o pid=,ppid=,args=`, dropping the `-ww` that AIX's POSIX-mode `ps` rejects) with positional parsing of empty headers, so it works across the System V `ps` of all three without depending on header names (`COMMAND` vs `CMD`).
0 commit comments