Laborbericht Netzwerktechnik Arbeitsblatt 3 Teil II – Grundlagen Linux Herr Kuhn Nils Hasenclever ITT15 24.10.2006 Systembefehle 15. Der Befehl df zeigt eine Statistik über den gesamten Speicherplatz. Welche Werte werden angezeigt? Es werden folgende Werte angezeigt: Dateisysteme, 1k-Blöcke, benutzte 1k-Blöcke, verfügbare 1k-Blöcke, benutzter Speicherplatz in Prozent, Eingehängt(„gemounted“) auf. Der Befehl df (disk free) gibt also Informationen über den Speicherplatz des aktuellen Dateisystems, es ist auch möglich 16. Wodurch unterscheidet sich der Befehl free? Mit dem Befehl “free”, einem Befehl zur Ausgabe der Hauptspeicherauslastung, sieht die Ausgabe folgendermaßen aus: total, used, free, shared, buffers, cached 17. Welche PID hat der Prozess top, was bedeutet PID und nach welcher Reihenfolge werden die Prozesse sortiert? Die PID des Prozesses „top“ ist 17468. Eine PID (process identification) eine fortlaufende Nummerierung der Prozesse. Diese Nummer ist im System eindeutig, wird der Prozess beendet, so verfällt auch die Nummer und wird in der Regel nicht neu verwendet. Die Prozesse werden nach CPU-Auslastung sortiert. 18. Es gibt 3 Arten von Prozessen: Deamons, Parent und Child. Wodurch unterscheiden sich diese Prozesse? Bei dem Start von Linux wird automatisch ein Prozess mit der PID 0 erstellt, der so genannte „swapper“, welcher der „Urahn“ aller weiteren Prozesse ist. Fast alle weiteren Prozesse sind „Child“-Prozesse, die von ihrem „Parent“-Prozess erzeugt wurden und dessen PID kennen. Im Gegensatz zu den beiden oben genannten Prozessarten sind „Daemon“-Prozesse nicht an einen Benutzer oder Terminal gebunden, sondern werden beim starten des Systems von dem „swapper“ erzeugt und erledigen Kontroll- und Verwaltungsaufgaben. 19. Welche Aufgabe besitzt der Befehl ps? ps (process show) : Bewirkt die Auflistung aktueller Prozesse (mit PID), des aktuell angemeldeten Benutzers, als „Momentaufnahme“, die CPU-Last verursachen. 20. Geben Sie ps-Af ein. Was bedeutet PPID, STIME, TTY und CMD? PPID Parent Process ID, STIME Start TIME Zeit wann ein Prozess gestartet wurde, TTY ist die Nummer der Konsole in welcher der Prozess gestartet wurde, CMD Name des Kommandos, welches den Prozess gestartet hat. 21. Der Befehl sleep 10 lässt den Rechner für 10s ruhen. Hängt man ein & an so wird der Prozess im Hintergrund gestartet. Testen sie dies mit 100 Sekunden. Lassen Sie sich mit ps plus den richtigen Parameter die Prozesse anzeigen. Listen Sie die Einträge auf. In Ermangelung eines Screenshots hier die Ausgabe der Konsole: debian:~# sleep 100& [1] 3145 debian:~# ps -A PID TTY TIME CMD 1 ? 00:00:00 init 2 ? 00:00:00 ksoftirqd/0 3 ? 00:00:03 events/0 4 ? 00:00:00 khelper 5 ? 00:00:00 kacpid 33 ? 00:00:00 kblockd/0 43 ? 00:00:00 pdflush 44 ? 00:00:00 pdflush 46 ? 00:00:00 aio/0 45 ? 00:00:00 kswapd0 188 ? 00:00:00 kseriod 296 ? 00:00:00 kjournald 777 ? 00:00:00 kjournald 947 ? 00:00:00 khubd 1217 ? 00:00:00 pciehpd_event 1237 ? 00:00:00 shpchpd_event 1907 ? 00:00:00 dhclient 1912 ? 00:00:00 portmap 2256 ? 00:00:00 syslogd 2259 ? 00:00:00 klogd 2266 ? 00:00:00 dirmngr 2301 ? 00:00:00 exim4 2323 ? 00:00:00 inetd 2327 ? 00:00:00 lpd 2336 ? 00:00:00 sshd 2340 ? 00:00:00 rpc.statd 2343 ? 00:00:00 atd 2346 ? 00:00:00 cron 2368 tty2 00:00:00 getty 2369 tty3 00:00:00 getty 2370 tty4 00:00:00 getty 2371 tty5 00:00:00 getty 2372 tty6 00:00:00 getty 2995 tty1 00:00:00 bash 3033 tty1 00:00:00 startx 3044 tty1 00:00:00 xinit 3045 ? 00:00:00 XFree86 3058 tty1 00:00:00 x-session-manag 3081 ? 00:00:00 ssh-agent 3101 ? 00:00:00 kdeinit 3104 ? 00:00:00 kdeinit 3106 ? 00:00:00 kdeinit 3109 ? 00:00:00 kdeinit 3117 ? 00:00:00 artsd 3119 ? 00:00:00 kdeinit 3120 tty1 00:00:00 kwrapper 3122 ? 00:00:00 kdeinit 3123 ? 00:00:00 kdeinit 3126 ? 00:00:00 kdeinit 3128 ? 00:00:00 kdeinit 3130 ? 00:00:00 kdeinit 3138 ? 00:00:00 krandrtray 3139 ? 00:00:00 kdeinit 3140 ? 00:00:00 korgac 3141 ? 00:00:00 kdeinit 3142 pts/1 00:00:00 bash 3143 pts/1 00:00:00 bash 3145 pts/1 00:00:00 sleep 3146 pts/1 00:00:00 ps debian:~# 22. Mit dem Befehl kill stoppt man einen Prozess. Starten Sie den sleep Prozess im Hintergrund mit 500s. Lassen Sie sich die Prozesse anzeigen. Stoppen Sie den Prozess. debian:~# sleep 500& [1] 3261 debian:~# ps PID TTY TIME CMD 3142 pts/1 00:00:00 bash 3143 pts/1 00:00:00 bash 3261 pts/1 00:00:00 sleep 3262 pts/1 00:00:00 ps debian:~# kill 3261 debian:~# ps PID TTY TIME CMD 3142 pts/1 00:00:00 bash 3143 pts/1 00:00:00 bash 3263 pts/1 00:00:00 ps [1]+ Beendet sleep 500 debian:~# 23. Reagiert ein Programm nicht mehr, kann man auch den Prozess gewaltsam stoppen. Fügen Sie dazu den Parameter -9 nach kill ein. Testen Sie dies. Wird eine Meldung ausgegeben? debian:~# sleep 500& [1] 3265 debian:~# ps PID TTY TIME CMD 3142 pts/1 00:00:00 bash 3143 pts/1 00:00:00 bash 3265 pts/1 00:00:00 sleep 3266 pts/1 00:00:00 ps debian:~# kill -9 3265 debian:~# ps PID TTY TIME CMD 3142 pts/1 00:00:00 bash 3143 pts/1 00:00:00 bash 3267 pts/1 00:00:00 ps [1]+ Getötet sleep 500 debian:~# Es wird also keine Meldung ausgegeben. Anzumerken ist allerdings, dass hier der Prozesse „getötet“ wird und nicht nur „beendet“ (vgl. 22), also ein Hinweis auf die Art der Beendung. Quellen: http://de.wikipedia.org www.haw-hamburg.de/rzbt/dankert/info2_4.pdf http://www.pro-linux.de Knoppix