Added appendices and code examples.

parent 2dd0f901
...@@ -175,16 +175,28 @@ SIGTERM & Termination signal (kill proces\_id) \\ ...@@ -175,16 +175,28 @@ SIGTERM & Termination signal (kill proces\_id) \\
\caption{Veel gebruikte signals in POSIX-compatible besturingssystemen.} \caption{Veel gebruikte signals in POSIX-compatible besturingssystemen.}
\end{table} \end{table}
Het is mogelijk om in de taal C met de functie \texttt{kill()} een signal te
sturen naar een proces. Dit kan ook vanuit de shell met het gelijknamige
commando \texttt{kill}, eventueel gevolgd door het nummer van de signal die
dient te worden verstuurt. Het sturen van signals in de taal C kwam niet verder
aan bod in dit practicum en wordt daarom niet verder behandeld.
\pagebreak \pagebreak
\section{De opdracht} \section{De opdracht}
\subsection{Keyboard verwerken} \subsection{Keyboard verwerken}
\subsection{Fork/pipe/wait implementatie} \subsection{Fork/pipe/wait implementatie}
\subsection{Experimenten met logfiles} \subsection{Experimenten met logfiles}
\begin{lstlisting}[language=bash]
for i in {1..6}; do fish < input$i.txt; ./view-logs.bash; done
\end{lstlisting}
\subsection{Signal verwerking} \subsection{Signal verwerking}
\pagebreak \pagebreak
...@@ -195,13 +207,27 @@ SIGTERM & Termination signal (kill proces\_id) \\ ...@@ -195,13 +207,27 @@ SIGTERM & Termination signal (kill proces\_id) \\
\lstinputlisting[language=c]{../fishbones.c} \lstinputlisting[language=c]{../fishbones.c}
\pagebreak
\section{view-logs.bash} \section{view-logs.bash}
Om meerdere logbestanden tegelijkertijd te kunnen bekijken, is er een bash
scriptje voor GNU screen geschreven. Dit script start \texttt{screen} op en
laadt het \texttt{screenrc}-bestand (configuratie) in. Als GNU screen niet op
het systeem is geinstalleerd, zal het script dit proberen op te lossen. Dit
werkt alleen voor (afgeleiden van) Debian systemen.
\\
\lstinputlisting[language=bash]{../view-logs.bash} \lstinputlisting[language=bash]{../view-logs.bash}
\section{screenrc} \section{screenrc}
Meerdere logbestanden worden in een vertical split-view weergegeven. Merk op dat
\texttt{watch} er voor zorgt dat om de 2 seconde nieuwe data wordt weergegeven.
Met andere woorden: elke 2 seconden wordt de output van \texttt{cat
child.log$i$} weergegeven in een van de drie subterminals.
\lstinputlisting[language=bash]{../screenrc} \lstinputlisting[language=bash]{../screenrc}
\end{appendices} \end{appendices}
\end{document} \end{document}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment