summaryrefslogtreecommitdiffstats
path: root/doc/LaTeX/devel/0300-pvs.tex
diff options
context:
space:
mode:
Diffstat (limited to 'doc/LaTeX/devel/0300-pvs.tex')
-rw-r--r--doc/LaTeX/devel/0300-pvs.tex21
1 files changed, 18 insertions, 3 deletions
diff --git a/doc/LaTeX/devel/0300-pvs.tex b/doc/LaTeX/devel/0300-pvs.tex
index 0060a63..06d154c 100644
--- a/doc/LaTeX/devel/0300-pvs.tex
+++ b/doc/LaTeX/devel/0300-pvs.tex
@@ -401,7 +401,17 @@ unter \url{http://lab.openslx.org/projects/pvs/wiki/RemoteKeyMouse}.
\index{Prozesse!starten} \index{starten}
Das ferngesteuerte Starten von Prozessen funktioniert durch den einfachen Versand eines PVSCOMMAND mit dem dem Ident STARTPROCESS an den Client, der Inhalt des PVSCOMMAND ist in diesem Fall ein durch den Dozenten angegebener Prozess. Der Client versucht diesen Prozess lokal zu starten.\\
Sollte hierbei ein Fehler auftreten schickt der Client dem Manager ein PVSCOMMAND mit Ident PROCESSES, der Inhalt besteht dann aus der Nachricht START ERROR und einer Zahl, die die Art des Fehlers angibt.\\
-Die Fehlermeldung wird zusammen mit der Information über die Art des Fehlers (Fehlender Prozess/nicht genug Rechte, Crash, Timeout, Read Error, Write Error, Unbekannter Fehler) im Log angezeigt.
+Die Fehlermeldung wird zusammen mit der Information über die Art des Fehlers (Fehlender Prozess/nicht genug Rechte, Crash, Timeout, Read Error, Write Error, Unbekannter Fehler) im Log angezeigt.\\
+Es ist möglich, dass der Dozent sich eine Liste von Prozessen, die er nutzen möchte erstellt und im PVSManager abspeichert, dies geht über den Prozesse starten-Dialog, er zeigt eine Liste an, die die beliebig erweiterbar ist. Einmal getätigte Änderungen werden in der Datei \textit{pvsmgr.conf} abgespeichert. Die Konfigurationsdatei ist nach folgendem Beispiel aufgebaut:
+\begin{verbatim}
+[RemoteProcessesList]
+size=2
+1\command=oowriter
+1\description=OpenOffice Writer
+2\command=oocalc
+2\description=OpenOffice Calc
+\end{verbatim}
+Hier ist zu beachten, dass size mit 1 beginnt.\\
\subsection{Prozesse beenden}
\index{Prozesse!beenden} \index{beenden}
@@ -411,9 +421,14 @@ Auch hier wird die Fehlermeldung zusammen mit der Information über die Art des
\subsection{Prozesseliste anzeigen}
\index{Prozesse!anzeigen} \index{anzeigen}
-Hier sendet der Manager dem Client ein PVSCOMMAND mit Ident SHOWPROCESSES. Das PVSCOMMAND mit Ident SHOW und Inhalt clear lässt den Client seine Prozessliste leeren.\\
+Hier sendet der Manager dem Client ein PVSCOMMAND mit Ident SHOWPROCESSES, der Inhalt der Nachricht gibt Prozesse an die herausgefiltert werden sollen. Das PVSCOMMAND mit Ident SHOW und Inhalt clear lässt den Client seine Prozessliste leeren.\\
Anschließend wird der Inhalt von \textit{/proc/} auf dem Client ausgelesen, ist kein Inhalt vorhanden wird ein PVSCOMMAND mit Ident PROCESSES und Nachricht SHOW ERROR gesendet. Sonst werden sämtliche Ordner in \textit{/proc/} die nur aus Zahlen bestehen durchlaufen. Es wird die Datei \textit{status} ausgelesen um den Namen des Prozesses und die UID des Besitzers zu erhalten. Ist die UID nicht identisch mit der UID des Client wird dieser Prozess verworfen, somit ist sichergestellt, dass nur Prozesse angezeigt werden, bei denen auch tatsächlich die Berechtigung vorhanden ist sie zu beenden. Ist dies der Fall wird außerdem noch ein Teil der Datei \textit{cmdline} ausgelesen. Der Client sendet daraufhin ein PVSCOMMAND mit Ident SHOW und Inhalt PID<\#>Name<\#>cmdline und füllt somit seinen Prozessvektor auf. Ist \textit{/proc} komplett abgearbeitet wird ein PVSCOMMAND mit Ident SHOW und Inhalt finished abgesendet, dies löst ein erneuetes lesen der Prozessliste Managerseitig aus:\\
-Hier wird zu beginn die Prozessliste des Client gelöscht und der Prozessvektor des Clients gelesen. Für jeden Eintrag der Art PID<\#>Name<\#>cmdline wird eine neue Zeile in der Prozessliste geschrieben und PID, Name und cmdline in die jeweiligen Zellen geschrieben.
+Hier wird zu beginn die Prozessliste des Client gelöscht und der Prozessvektor des Clients gelesen. Für jeden Eintrag der Art PID<\#>Name<\#>cmdline wird eine neue Zeile in der Prozessliste geschrieben und PID, Name und cmdline in die jeweiligen Zellen geschrieben.\\
+Prozesse die aus der Liste herausgefiltert werden werden auch in der Datei \textit{pvsmgr.conf} abgespeichert. Eine mögliche Konfigurationsdatei sieht etwa so aus:
+\begin{verbatim}
+[RemoteProcessesList]
+filter=pvs pvsgui pvsmgr
+\end{verbatim}
\section{Netzwerkkommunikation}
\index{Netzwerkkommunikation}