Programme im Zusammenhang mit Prozessen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

pgrep: Zeigt die PID zu einem Prozess an

  • zeigt alle Prozesse an die auf die das Muster
*pgrep mc
  13552
  13734
  • zeigt nur die an die einem User gehören
pgrep -u thomas mc
  13552

zeigt denn vollständigen Prozessnamen an

pgrep -l apa
  1427 apache2
  1428 apache2
  1429 apache2
  6710 apache2

zeigt den zuletzt gestarteten Prozess

pgrep -n apa
  1429

zeigt nur Prozesse an die genau auf den Namen passen

pgrep -x apache2
  1427
  1428
  1429
  6710

pkill: schickt einem Prozess anhand des Namens ein Signal

beendet den Prozess
 pkill -x apache2
beendet den Prozess der als erstes gestartet wurde 
 pkill -xo mc

nice: Lässt ein Programm mit verändertem Grundwert der Priorität laufen

*nice
0
nice -n 9 bash
nice
9
*

renice: Ändert den Grundwert der Priorität eines laufenden Prozesses

renice 10 5742
  5742: Alte Priorität: 0, neue Priorität: 10

top: Zeigt die Prozesse mit ihrem Status an (Abbrechen mit q)

top
  top - 08:51:08 up 20 min,  1 user,  load average: 0.00, 0.02, 0.06
  Tasks:  93 total,   1 running,  92 sleeping,   0 stopped,   0 zombie
  Cpu(s):  1.6%us,  3.1%sy,  0.1%ni, 84.9%id, 10.2%wa,  0.0%hi,  0.2%si,  0.0%st
  Mem:    509504k total,   273948k used,   235556k free,    11312k buffers
  Swap:   321260k total,        0k used,   321260k free,   118380k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                       
  2208 mysql     20   0  125m  21m 5552 S  1.7  4.2   0:02.29 mysqld                                                                        
  3201 root      20   0  2444 1064  828 R  1.7  0.2   0:00.04 top                                                                           
     1 root      20   0  1908  780  564 S  0.0  0.2   0:02.19 init                                                                          
     2 root      15  -5     0    0    0 S  0.0  0.0   0:00.00 kthreadd                                                                      
     3 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 migration/0                                                                   
     4 root      15  -5     0    0    0 S  0.0  0.0   0:00.03 ksoftirqd/0                                                                   
     5 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/0                                                                    
     6 root      15  -5     0    0    0 S  0.0  0.0   0:00.04 events/0                                                                      
     7 root      15  -5     0    0    0 S  0.0  0.0   0:00.00 khelper                                                                       
     8 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 kstop/0                                                                       
     9 root      15  -5     0    0    0 S  0.0  0.0   0:00.00 kintegrityd/0                                                                 
    10 root      15  -5     0    0    0 S  0.0  0.0   0:00.03 kblockd/0                                                                     
    11 root      15  -5     0    0    0 S  0.0  0.0   0:00.00 kacpid                                                                        
    12 root      15  -5     0    0    0 S  0.0  0.0   0:00.00 kacpi_notify                                                                  
    13 root      15  -5     0    0    0 S  0.0  0.0   0:00.00 cqueue                                                                        
    14 root      15  -5     0    0    0 S  0.0  0.0   0:00.53 ata/0                                                                         
    15 root      15  -5     0    0    0 S  0.0  0.0   0:00.00 ata_aux

Kommandos

h - Hilfe
u - User
k - Kill
r - Renice
d - Delay (Default 3s)
n - Tasks (Default unbegrenzt)
W - Schreibe aktuelle Konfiguration in Datei
q - Quit

pstree: Zeigt die Prozesse als Baumstruktur

Mit -p werden auch die PID's ausgegeben

pstree
init─┬─NetworkManager
     ├─acpid
     ├─apache2───5*[apache2]
     ├─atd
     ├─bluetoothd
     ├─console-kit-dae───63*[{console-kit-dae}]
     ├─cron
     ├─cupsd
     ├─dbus-daemon
     ├─dd
     ├─gdm───gdm─┬─Xorg
     │           └─gdmgreeter
     ├─6*[getty]
     ├─hald───hald-runner─┬─hald-addon-acpi
     │                    ├─hald-addon-inpu
     │                    └─2*[hald-addon-stor]
     ├─klogd
     ├─nm-system-setti
     ├─nmbd
     ├─nscd───11*[{nscd}]
     ├─portmap
     ├─rpc.statd
     ├─slapd───2*[{slapd}]
     ├─smbd───smbd
     ├─sshd───sshd───bash───bash───pstree
     ├─syslogd
     ├─system-tools-ba
     ├─udevd
     ├─winbindd─┬─winbindd───winbindd
     │          └─3*[winbindd]
     └─wpa_supplicant

Jobs

Unter einem Job versteht man ein Programm, welches man von der Shell gelöst hat. D. h. man kann ganz normal weiter arbeiten und der Job verrichtet seinen Dienst im Hintergrund. Man kann jederzeit zu diesem Job wieder Kontakt aufnehmen.

Ein Job kann auf 2 Arten gestarten werden:

  1. Durch Anhängen des & Zeichens beim Programmstart
  • tail -f /var/log/messages &
Jun 19 06:59:31 zero -- MARK --
Jun 19 07:19:31 zero -- MARK --
Jun 19 07:39:32 zero -- MARK --
Jun 19 07:44:57 zero syslogd 1.5.0#5ubuntu3: restart.
Jun 19 07:59:32 zero -- MARK --
Jun 19 08:19:32 zero -- MARK --
Jun 19 08:39:32 zero -- MARK --
Jun 19 08:59:32 zero -- MARK --
Jun 19 09:19:33 zero -- MARK --
Jun 19 09:39:33 zero -- MARK --
[3] 27421
  1. Durch Stoppen des Prozesses durch Drücken von Strg-Z und in den Hintergrund schicken mit %n (n ist die Jobnummer)
  • watch cat /proc/cpuinfo
Strg-Z
[4]+  Stopped                 watch cat /proc/cpuinfo
  • bg %4
[4]+ watch cat /proc/cpuinfo &

Anweisungen im Zusammenhang mit Jobs (n ist die Jobnummer)

  • bg %n : Einen Job in den Hintergrund stellen (wie oben)
  • fg %n : Einen Job in den Vordergrund holen
  • fg %4
watch cat /proc/cpuinfo
  • jobs : Aktive Jobs ausgeben
  • jobs
[1]   Running                 tail -f /var/log/syslog &
[2]   Running                 tail -f /var/log/syslog &
[3]-  Running                 tail -f /var/log/messages &
[4]+  Stopped                 watch cat /proc/cpuinfo
  • Strg-Z : Einen Vordergrund-Job vorübergehend anhalten
  • kill -STOP %n : Unterbricht Job im Hintergrund
  • kill -STOP %1
  • jobs
[1]+  Stopped                 tail -f /var/log/syslog
[2]   Running                 tail -f /var/log/syslog &
[3]   Running                 tail -f /var/log/messages &
[4]-  Stopped                 watch cat /proc/cpuinfo
  • kill -CONT %n : Setzt den unterbrochenen Job im Hintergrund fort
  • kill -CONT %1
  • jobs
[1]+  Running                 tail -f /var/log/syslog &
[2]   Running                 tail -f /var/log/syslog &
[3]   Running                 tail -f /var/log/messages &
[4]-  Stopped                 watch cat /proc/cpuinfo
  • kill -KILL %n : Tötet Job im Hintergrund
  • kill -KILL %1
  • jobs
[1]+  Killed                  tail -f /var/log/syslog
[2]   Running                 tail -f /var/log/syslog &
[3]   Running                 tail -f /var/log/messages &
[4]-  Stopped                 watch cat /proc/cpuinfo
  • jobs
[2]   Running                 tail -f /var/log/syslog &
[3]-  Running                 tail -f /var/log/messages &
[4]+  Stopped                 watch cat /proc/cpuinfo

Bedingungen, die zu Jobausführung eingehalten werden sollen:

  • Der Job soll nicht auf den Bildschirm schreiben (Standardausgabe +Standardfehlerkanal).
  • Er soll keine Eingaben vom Benutzer erwarten.