Napište ps, které bude vypisovat procesy ve stromovité struktuře. Jako parametr dostane seznam polí, které má vypisovat. Použijte pouze jedno volání ps. Progam může také dostat jako parametr PID nějakého procesu. Pak vypíše pouze větev vedoucí k tomuto procesu a procesy zavěšené pod ním (tedy proces samotný, všechny jeho předky a všechny potomky). Příklad výstupu:
PID PPID COMMAND
\ 1 0 init
|-\ 335 1 login
| \-\ 876 335 -bash
| |- 1142 876 ps
| \- 1143 876 more
\- 456 1 getty
Tabule na konci prvního a druhého cvičení:
Na druhé tabuli je problém, protože si ve funkci DFS vytváříme globální proměnnou prefix, kterou si při dalším rekurzivním volání té samé funkce přepisujeme. Můžeme buď použít přímo $2, nebo vymyslet způsob jak proměnnou „lokalizovat“. Kostru programu ze cvičení od Martina Šerého můžete stáhnout zde.