Menu

Čtrnácté cvičení (24. 5.)

Příklady

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.