BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

Warten bis ein Prozess beendet ist

Mit Hilfe von pwait kann gewartet werden bis sich ein Prozess beendet hat. Dazu wird die Prozess-ID an pwait übergeben:

# pwait <PID>

Durch die -v Option wird der Rückgabewert des beendeten Prozesses angezeigt.

# pwait -v 2151
2151: exited with status 0.

Auf FreeBSD ist pwait standardmässig im Basissystem vorhanden. Mehr Informationen zu pwait findet man in der Manpage pwait(1).

 Permalink

Wort in der tcsh löschen

In der tcsh kann ein Wort links des Cursors mit Ctrl + w gelöscht werden. Befindet sich der Cursor innerhalb eines Wortes, so wird alles links des Cursors bis zum Wortanfang gelöscht.

Related Entries:
Programm mit which finden
Liste der besuchten Verzeichnisse merken
foreach-Schleife in der tcsh
tcsh bei Inaktivität beenden
Vervollständigung in der tcsh
 Permalink

Apache Logdateien zusammenführen

Mit Hilfe von mergelog lassen sich mehrer Apache-Logdateien sortiert nach der Zugriffszeit zusammenführen. Im FreeBSD-Portbaum findet man mergelog unter www/mergelog:

# cd /usr/ports/www/mergelog && make install clean

Aus allen angegebenen Logdateien wird nun eine Datei erstellt:

# ls -l httpd-access-server*
-rw-r--r--  1 root  wheel 45616843 24 Sep 18:41 httpd-access-server1.log
-rw-r--r--  1 root  wheel 34263714 24 Sep 18:42 httpd-access-server2.log
-rw-r--r--  1 root  wheel 21555617 24 Sep 18:43 httpd-access-server3.log
# mergelog httpd-access-server1.log httpd-access-server2.log httpd-access-server3.log > httpd-access.log

Sind die Dateien mit gzip komprimiert, können diese mit zmergelog zusammengeführt werden:

# zmergelog httpd-access-server1.log.gz httpd-access-server2.log.gz httpd-access-server3.log.gz > http-access.log

Mehr Informationen zu mergelog und zmergelog findet man in den Mapages mergelog(1) und zmergelog(1).

Comments (1)  Permalink

CPU Auslastung anzeigen

Mit Hilfe von pcpustat kann die Auslastung der einzelnen CPU-Kerne dargestellt werden. Im FreeBSD -Portbaum findet man pcpustat unter sysutils/pcpustat:

# cd /usr/ports/sysutils/pcpustat && make install clean

Mit der -w Option kann festgelegt werden nach wievielen Sekunden eine neue Ausgabe erfolgen soll. Mit Ctrl + c kann pcpustat beendet werden.

# pcpustat -w 1
               cpu 0               cpu 1               cpu 2               cpu 3               cpu 4               cpu 5               cpu 6               cpu 7
  us  ni  sy  in  id  us  ni  sy  in  id  us  ni  sy  in  id  us  ni  sy  in  id  us  ni  sy  in  id  us  ni  sy  in  id  us  ni  sy  in  id  us  ni  sy  in  id
  63   0   5   1  31  38   0   5   0  56  41   0   7   0  52  39   0   4   0  57  41   0   5   0  54  64   0   4   0  32  14   0   1   2  84  58   0   5   0  37
  57   0  12   0  31  73   0  13   0  13  84   0  11   0   5  70   0   5   0  25  75   0   7   0  18  30   0   4   0  66  50   0   9   0  41  64   0   6   0  30
  48   0   8   0  45  59   0   3   0  38  63   0   5   1  30  65   0   6   0  29  68   0   2   0  30  63   0   4   0  33  67   0   6   2  24  43   0  15   0  42
  59   0   8   0  33  91   0   2   0   8  16   0   5   0  79  11   0   6   1  82  27   0   7   0  66  67   0   3   0  30  38   0   5   2  55  76   0   8   0  16
  54   0   3   0  43  96   0   4   0   0  26   0   7   0  67  13   0   4   0  84  23   0   3   0  73   5   0   1   0  95   1   0   3   1  95   6   0   2   0  92
  36   0   2   0  61  48   0   6   0  46  21   0   3   0  76   8   0   1   0  91  11   0   2   0  87  27   0   1   1  71   5   0   1   0  95  22   0   1   0  77
   9   0   3   0  88  14   0   3   0  83  41   0   5   0  54  27   0   5   0  67  62   0   9   0  29   0   0   1   0  99   5   0   0   2  93  23   0   1   0  77

Möchte man die Auslastung der einzelnen CPU-Kerne in top darstellen so kann top mit der -P Option gestartet werden:

# top -P
last pid: 29169;  load averages:  3.86,  1.71,  0.95 up 83+08:45:44  11:00:02
90 processes:  9 running, 81 sleeping
CPU 0: 94.9% user,  0.0% nice,  1.2% system,  0.0% interrupt,  3.9% idle
CPU 1: 96.9% user,  0.0% nice,  2.7% system,  0.0% interrupt,  0.4% idle
CPU 2: 57.6% user,  0.0% nice,  1.9% system,  0.4% interrupt, 40.1% idle
CPU 3: 86.4% user,  0.0% nice,  3.1% system,  0.0% interrupt, 10.5% idle
CPU 4: 89.9% user,  0.0% nice,  1.9% system,  0.0% interrupt,  8.2% idle
CPU 5: 89.9% user,  0.0% nice,  0.4% system,  0.0% interrupt,  9.7% idle
CPU 6: 84.8% user,  0.0% nice,  2.3% system,  0.4% interrupt, 12.5% idle
CPU 7: 88.7% user,  0.0% nice,  1.2% system,  0.0% interrupt, 10.1% idle
Mem: 965M Active, 5445M Inact, 961M Wired, 134M Cache, 827M Buf, 392M Free
Swap: 4096M Total, 304K Used, 4096M Free

  PID USERNAME  THR PRI NICE   SIZE    RES STATE   C   TIME   WCPU COMMAND
 8077 root        1 103    0 34732K 28832K CPU2    2   0:04 33.25% cc1
23143 root        1 100    0 35372K 28828K CPU6    6   0:02 21.58% cc1
25480 root        1  99    0 35036K 27660K RUN     0   0:02 17.97% cc1
25276 root        1  76    0  7832K  1708K wait    1   0:00  2.39% xgcc
[...]

Mehr Informationen zu pcpustat und top findet man in den Manpages pcpustat(1) und top(1).

 Permalink

Bestimmte Spalten entfernen

Möchte man bestimmte Spalten einer Eingabe entfernen so kann dazu colrm verwendet werden. Im folgenden Beispiel werden die Spalten vom zweiten bis zum fünften Zeichen der Eingabe entfernt:

# cat testdatei 
a b c d e
1 2 3 4 5
v w x y z
# cat testdatei | colrm 2 5
a d e
1 4 5
v y z

Wird nur eine Startposition angegeben so werden alle Zeichen danach entfernt:

#  cat testdatei | colrm 6
a b c
1 2 3
v w x

Befinden sich Tabulatoren in der Eingabe so werden diese als 8 Zeichen gezählt:

# cat testdatei
        90
# cat -t testdatei
^I90
# cat testdatei | colrm 10
        9

Auf FreeBSD ist colrm standardmässig im Basissystem vorhanden. Mehr Informationen zu colrm findet man in der Manpage colrm(1).

 Permalink

Ausgabe eines Programmes in eine Tabelle umwandeln

Mit Hilfe der -t Option von column lässt sich die Ausgabe eines oder mehrerer Programme in eine Tabelle umwandeln. Im folgenden Beispiel wird von der Ausgabe von ls -l die total Zeile entfernt, Spaltennamen hinzugefügt und das Ergebnis in eine Tabelle umgewandelt:

# ls -l
total 1224
-rw-r--r--  1 beat  users      100 23 Sep  2005 adblock.txt
-rw-r--r--  1 beat  users  1162706 19 Jul  2005 beat.txt
-rw-r--r--  1 beat  users     5483  2 Jan  2008 changebundle.txt
-rw-r--r--  1 beat  users      543  7 Apr  2005 fehlermeldung.txt
-rw-r--r--  1 beat  users      907 27 Dez  2004 firefox.txt
-rw-r--r--  1 beat  users     9181  4 Sep 19:44 freebsd.txt
-rw-r--r--  1 beat  users    16026  5 Feb  2006 hosts.txt
-rw-r--r--  1 beat  users     2434 10 Dez  2005 mapper.txt
-rw-r--r--  1 beat  users    19913 17 Mai  2005 netbsd.txt
-rw-r--r--  1 beat  users     8661 14 Dez  2007 openbsd.txt
# ( echo PERMISSION LINKS OWNER GROUP SIZE DAY MONTH HH:MM/YEAR NAME ; ls -l | sed 1d ) | column -t
PERMISSION  LINKS  OWNER  GROUP  SIZE     DAY  MONTH  HH:MM/YEAR  NAME
-rw-r--r--  1      beat   users  100      23   Sep    2005        adblock.txt
-rw-r--r--  1      beat   users  1162706  19   Jul    2005        beat.txt
-rw-r--r--  1      beat   users  5483     2    Jan    2008        changebundle.txt
-rw-r--r--  1      beat   users  543      7    Apr    2005        fehlermeldung.txt
-rw-r--r--  1      beat   users  907      27   Dez    2004        firefox.txt
-rw-r--r--  1      beat   users  9181     4    Sep    19:44       freebsd.txt
-rw-r--r--  1      beat   users  16026    5    Feb    2006        hosts.txt
-rw-r--r--  1      beat   users  2434     10   Dez    2005        mapper.txt
-rw-r--r--  1      beat   users  19913    17   Mai    2005        netbsd.txt
-rw-r--r--  1      beat   users  8661     14   Dez    2007        openbsd.txt

Standardmässig wird zur Bestimmung der Spalten das Leerzeichen verwendet, möchte man anderes Zeichen verwenden, so kann dies mit der -s Option angegeben werden:

# echo test_test_test | column -t -s _
test  test  test

Auf FreeBSD ist column standardmässig im Basissystem vorhanden. Mehr Informationen zu column findet man in der Manpage column(1).

 Permalink

5 Jahre chruetertee.ch

Vor fünf Jahren war es soweit, chruetertee.ch ging online.

Ganz herzlich danken möchte ich Alain, der mir während des ersten Jahres von chruetertee.ch und als der Server einen Hardwaredefekt hatte eine Jail zur Verfügung gestellt hat und regelmässig Support für das Flux CMS bietet.

Auch danken möchte ich allen, die regelmässig hier lesen, Kommentare schreiben oder chruetertee.ch verlinkt haben.

Ausserdem möchte ich an dieser Stelle miwi für seine Zeit und Geduld als Mentor, decke für seine Arbeit im gecko- und vbox-Team sowie andreast für seine Arbeit im gecko-Team danken.

Comments (8)  Permalink
1-7/7