UNIX-Werkzeuge ============== 3. Hilfsmittel für die Compilierung und den Test ================================================ |
next | back | 2017 - 1 | Fri Apr 7 14:50:44 CEST 2017 |
Allgemein --------- gcc - GNU project C und C++ Compiler Kompiliert ein oder mehrere C-Quelltexte oder Assembler-Quellen. gcc ruft automatisch alle Schritte auf, die notwendig sind um ein ausführbares Programm zu erzeugen, wenn dies nicht explizite unter- bunden wird. gcc benutzt dabei folgende Standard-Suffixe: .c - C-Quelltext .i - C-Quelltext nach Aufbereitung durch den Preprozessor .s - Assemblerquelltext .o - Objektmodul Es existieren folgende Phasen der Compilierung: Preprozessor - gcc -E (nur Quellkode aufbereitung) Compiler - gcc -S (nur Assemblercode erzeugen) Assembler - gcc -c (nur Ojektmodul erzeugen) Linker - gcc ladbares Programm erzeugen gcc kennt sehr viele Optionen!!!! Optionen nicht gruppierbar, also -d -r ist nicht identisch mit -dr Reihenfolge von Bedeutung, wenn mehrmals die gleiche Option mit unterschiedlicher Belegung vorkommt -L/usr/lib -L/usr/local/lib |
next | back | 2017 - 2 | Fri Apr 7 14:50:44 CEST 2017 |
Manual (4.8.1)enthält 14945 Zeilen!!!!! Über 200 Seiten!!!! gcc --help gibt einen ersten Anhaltspunkt Usage: gcc [options] file... Options: -pass-exit-codes Rückgabe des höchste Fehlercodes --help Help-Informationen (60 Zeilen) --target-help Help für Zieloptionen -v --help Alle Helpinformationen (3875 Zeilen) -dumpspecs Alle Betriebssystemabhängigkeiten -dumpversion Compilerversion -dumpmachine Zielsystem -print-search-dirs Suchpfade -print-libgcc-file-name allgemeine Compiler-Bibliothek -print-file-name=<lib> Anzeigen Pfad zu <lib> -print-prog-name=<prog> Anzeigen Pfad zu <prog> -Xassembler <arg> Pass <arg> zum Assembler -Xpreprocessor <arg> Pass <arg> zum Preprocessor -Xlinker <arg> Pass <arg> zum Linker -combine Compiliere mehrere Quellen als eine -save-temps Rette TMP-Files -pipe Benutze Pipes -time Zeitangaben --sysroot=<directory> root Directory für Headers und Bibliotheken -B <directory> Add <directory> to the compiler's search paths -b <machine> Zielcode <machine>, wenn installiert -V <version> Run gcc version number <version> -v Verbose -E nur Preprocessor -S nur Compiler; kein Assembler oder Linker |
next | back | 2017 - 3 | Fri Apr 7 14:50:44 CEST 2017 |
-c Compiler und Assembler, nicht linken -o <file> Ausgabe-File -x <language> Eingabesprache: c, c++, assembler, none -ansi ANSI-Standard Optionen, die mit -g, -f, -m, -O, -W, oder --param beginnen werden automatisch an das entsprechende Programm weitergeleitet. Weitere wichtige Optionen: -g <nummer> einfügen von Debugger-Informationen <nummer> : 1, 2, 3 -include <datei> Datei einfügen -l<lib> Linken mit Library <lib> -lsocket libsocket.a, libsocket.so -lnsl libnsl.a, libnsl.so -L<lib-path> zusätzliches Bibliotheksverzeichnis -m32, --32 32-Bit-Architektur -m64, --64 64-Bit-Architektur -static statisch linken -dynamic dynamisch linken (standard) -O<nummer> Optimierung <nummer> : 1, 2, 3, 4, .. Vorsicht!! Bis 2 funktioniert es immer |
next | back | 2017 - 4 | Fri Apr 7 14:50:44 CEST 2017 |
cpp - Preprozessor für C-Code (Teil von gcc) Liefert die gleiche Ausgabe wie gcc -E Optionen: cpp --help (identisch mit gcc --help) gcc -E -o hello.i hello.c cpp -o hello.i hello.c as - Assembler, Objektdateien erzeugen existiert als selbstständiges Programm oder Teil des gcc. (SUN bis Solaris 10: /usr/ccs/bin/as) Erzeugt gleiche Ausgabe wie gcc -c Optionen: as --help (Teil von gcc --help) gcc -S -o hello.s hello.c gcc -c -o hello.o hello.s oder as -o hello.o hello.s ld - Linker - erzeugen von ausführbaren Programmen Existiert als selbstständiges Programm oder Teil des gcc. (SUN bis Solaris 10: /usr/ccs/bin/ld) Optionen: ld --help (gcc --target-help) Erzeugt gleiche Ausgabe wie gcc gcc -o hello hello.o ld -o hello hello.o -lc (denkste) |
next | back | 2017 - 5 | Fri Apr 7 14:50:44 CEST 2017 |
size - Auflisten der Größe von Code- und Datensegment eines Programmes Anzeigen der Größe der einzelnen Sektionen eines Binary-Files. size [<Option>] [File] ... -A sysv-Format (lang) -B Berkley-format (kurz, standard) -o Zahlenformat octal -d Zahlenformat dezimal -x Zahlenformat hexadezimal -t Summenangaben bei mehreren Files -h, --help Hilfe ausgeben -v, --version Ausgabe Programmversion size -B hellod text data bss dec hex filename 941 272 4 1217 4c1 hellod |
next | back | 2017 - 6 | Fri Apr 7 14:50:44 CEST 2017 |
ldd - Ausgabe der Liste der benutzten Shared Libraries eines Programms ldd gibt eine Liste aller benötigten Shared Libraries und der zugeordneten Libraries für die angegeben Programme aus. Nicht gefundenen Libraries werden angezeigt. ldd [Optionen] <File> ... --help Hilfstext ausgeben --version Version ausgeben -d, --data-relocs process data relocations -r, --function-relocs process data and function relocations -u, --unused nur Ausgabe der nicht gefunden Libraries -v, --verbose Lange Ausgabe ldd hellod linux-gate.so.1 => (0xffffe000) libc.so.6 => /lib/libc.so.6 (0xb7e20000) /lib/ld-linux.so.2 (0xb7f75000) |
next | back | 2017 - 7 | Fri Apr 7 14:50:44 CEST 2017 |
nm - Auflisten der Symbole von Objektdateien Für jedes Symbol in einem Objektfile zeigt nm folgende Werte an: - den Wert(Adresse) des Symbols (hexadezimal oder dezimal) - den Typ des Symbols (Kleine Buchstaben - lokale Definition, große Buchstaben - externe Definition): A - absoluter Wert (nicht veränderbar) B - Wert nicht initialisiert - im Stacksegment C - gemeinsames Symbol (mehrfach, wird gelinkt) D - Vorinitialisierte Variabel im Datensegment G - kleine Variable im Datensegment initialisiert I - indirekte Referenz N - Debugging-Symbol R - Readonly Variable im Datensegment S - kleine Variable im Datensegment uninitialisiert T - Variable im Textsegment U - Variable ist undefiniert (keine Adresse zugeordnet) W - "Weaked" Symbol (privat oder durch System definiert) ? - unbekannter Type - Name des Symbols |
next | back | 2017 - 8 | Fri Apr 7 14:50:44 CEST 2017 |
nm [<Optionen>] [<File>] ... a.out ist standard für <File> Optionen: -a, --debug-syms nur Anzeigen von debug-Symbolen -A, --print-file-name Filenamen vor jedes Symbol anzeigen -B bsd-Format -D, --dynamic nur Anzeigen von dynamischen Symbolen --defined-only nur Anzeigen von definierten Sybolen -f, --format=FORMAT Formatierte Ausgabe: bsd, sysv oder posix Standard: bsd -g, --extern-only nur Anzeigen von externen Symbolen -l, --line-numbers Zeilennummern mit angeben, wenn vorhanden -n, --numeric-sort Ausgabe nach Adressen sortieren -p, --no-sort nicht sortieren -P, --portability Ausgabe im Posix-Format -r, --reverse-sort Ausgabe reverse sortieren -S, --print-size Ausgabe der Größe von definierten Sysmbolen --size-sort Ausgabe nach Sort symbols by size --special-syms Include special symbols in the output --synthetic Display synthetic symbols as well -t, --radix=RADIX Zahlenformat, RADIX: oct, dec -u, --undefined-only nur Ausgabe von undefinierten Symbolen -h, --help Hilfe -V, --version Version |
next | back | 2017 - 9 | Fri Apr 7 14:50:44 CEST 2017 |
strip - Entfernen von Symbolen aus Programmen strip entfernt alle Symbole eines Objektfiles und speichert das neue Objektfile unter dem gleichen Namen wie das alte. strip [<Optionen>] <File> Optionen: -I --input-target=<bfdname> Format des Eingabefiles -O --output-target=<bfdname> Format des Ausgabefile -F --target=<bfdname> Format -p --preserve-dates übernehme Datum und Uhrzeit -R --remove-section=<name> Lösche Section <name> von der Ausgabe -s --strip-all alles (standard) -g -S -d --strip-debug Lösche alle Debugging Symbole --strip-unneeded Lösche alle Symbole, die nicht für die Verschiebung gebraucht werden --only-keep-debug Lösche alles außer Debug-Informationen -N --strip-symbol=<name> Entferne das Symbol <name> -K --keep-symbol=<name> Entferne das Symbol <name> nicht --keep-file-symbols Entferne keine File-Symbole -w --wildcard Erlaube Wildcards in Symbolnamen -x --discard-all Entferne alle non-global Symbole -X --discard-locals Entferne alle vom Compiler erzeugten Symbole -v --verbose Verbose -V --version Anzeigen der Programmversion -h --help Hilfe --info Hilfe, Ausgabe aller Architekturinformationen -o <file> Ausgabe in File <file> |
next | back | 2017 - 10 | Fri Apr 7 14:50:44 CEST 2017 |
ar - verwaltet Funktionsbibliotheken Mit ar werden beliebig viele Dateien zu einer einzigen zusammengefasst. Eine Kompression findet nicht statt. ar wird vor allem zur Verwaltung von Bibliotheken für den C-Compiler verwendet. Der Linker benötigt die spezielle Datei __.SYMDEF, in der die Symboltabellen aller Objektdateien zusammengefasst sind. ar [-]{dmpqrstx}[abcfilNoPsSuvV] [Mitglieds-Name] [Zähler] Archiv File... Archiv ist der Name der zu bearbeitenden Archivdatei. Die Archivdateien haben per Konvention die Endung .a. File ist der Name einer Datei, die in das Archiv eingefügt oder aus ihm gelöscht oder extrahiert werden soll. Kommandos: d - Streichen eines Files aus dem Archiv m[ab] - Verschieben eines Files im Archiv (a - after, b -before) p - Ausgabe aller Files q[i] - anfügen an das Archiv r[ab][f][u] - ersetzen s - neues Archiv erzeugen t - Inthaltsverzeichnis x[o] - extrahieren eines Files aus dem Archiv |
next | back | 2017 - 11 | Fri Apr 7 14:50:44 CEST 2017 |
Kommando-Spezifikation: [a] - Aktion hinter einem File [b] - Aktion vor einem File [c] - keine Warnung beim Erzeugen eines Archivs [N] - use instance [count] of name [f] - Abschneiden von Filenamen [P] - Benutze volle Pfadnamen [o] - erhalte Datum und Uhrzeit [u] - File nur ersetzen, wenn neuer als entsprechendes File im Archiv Sonstiges: [S] - Keine Symboltabelle erzeugen [v] - Verbose [V] - Ausgabe der Versionsnummer |
next | back | 2017 - 12 | Fri Apr 7 14:50:44 CEST 2017 |
gdb - GNU Debugger Der GNU Debugger emöglicht es, in einzelnen Schritten durch ein C-Programm zu laufen und so herauszufinden, an welchen Stellen ein Fehler aufgetreten ist. Der GNU Debugger ist ein Werkzeug für die Programmentwicklung. Allerdings lassen sich auch core-Files mit ihm auswerten und laufende Prozesse beobachten. Das zu testende Programm wird in der Kommandozeile spezifiziert. Die Arbeit mit dem GNU Debugger wird erleichtert, wenn das Programm nicht mit strip bearbeitet wurde und spezielle Optionen bei der Compilation angegeben wurden: gcc -g [123] .... gdb [Optionen] <ausführbares-file> <core-file> gdb [Optionen] <ausführbares-file> <process-id> gdb [Optionen] <ausführbares-file> [Argumente des Programms ...] |
next | back | 2017 - 13 | Fri Apr 7 14:50:44 CEST 2017 |
Optionen: -s file - Laden der Symboltabelle aus Symbol-File -e file - debuggen des Programm-Files -c file - debuggen des Core-Files -x file - lesen von Debug-Kommandos aus File -d dir - Quelldateien aus Direktory lesen -q - Quit, leiser Start -batch - nur -x und .gdbinit beachten -cd=dir - Wechseln in Direktory -f - volle Filenamen gdb-Befehle(1) backtrace - Anzeigen, wie das Programm an die aktuelle Stelle gekommen ist breakpoint - Setzen eines Breakpoints (help breakpoint) break, awatch, disable, enable cd - Wechseln in aktuelles Verzeichnis clear - Löschen des letzten Breakpoints commands - Kommandos für Breakpoint continue - fortsetzen nach Break delete - Löschen eines Breakpoints display - Anzeigen von Variablen down - Abwärts im Stack info - Informationen ausgeben (info breakpoint) jump - im Quelltext springen |
next | back | 2017 - 14 | Fri Apr 7 14:50:44 CEST 2017 |
gdb-Befehle (2) kill - abbrechen list - Quelltexte an der aktuellen Stelle ausgeben next - nächste Zeile im Quelltext ausführen print - Ausgabe von Variablen pwd quit - beenden von gdb run - starten des Programms search - suchen im Quelltext step - nächste Zeile im Quelltext ausführen bei Funktionscall, halt in der ersten Zeile up - aufwärts im Stack watch - Breakpoint für Datenzugriff |
next | back | 2017 - 15 | Fri Apr 7 14:50:44 CEST 2017 |
renice - Ändern der Priorität eines laufenden Prozesses renice Priorität [[-p] <PIDs> ] [[-g] <PGRPs> ] [[-u] <Benutzernamen> ] renice --help Mittels renice kann man die Priorität (nice-Wert) eines laufenden Prozesses anzeigen und verändern. Die Angabe von mehreren Prozess- nummern bzw. mehreren Prozessgruppen bzw. von mehreren Benutzernamen ist möglich. Wird ein Benutzername angegeben, werden alle Prozesse des entsprechenen Benutzers in der Priorität verändert. Dies gilt auch für die Prozesse einer Prozessgruppe |
next | back | 2017 - 16 | Fri Apr 7 14:50:44 CEST 2017 |
Linux ----- strace - trace alle Systemcalls eines Programms bzw. eines Prozesses strace [-dffhiqrtttTvVxx] [-a column] [-e expr] ... [-o file] [-p pid] ... [-s strsize] [-u username] [-E var=val] ... [command [arg ...]] strace -c [-e expr] ... [-O overhead] [-S sortby] [-E var=val] ... [command [arg ...]] -c - count time, calls, and errors for each syscall and report summary -f - follow forks, -ff -- with output into separate files -F - attempt to follow vforks, -h -- print help message -i - print instruction pointer at time of syscall -q - suppress messages about attaching, detaching, etc. -r - print relative timestamp -t - print absolute timestamp, -tt - print absolute timestamp with usecs -T - print time spent in each syscall, -V -- print version -v - verbose mode: print unabbreviated argv, stat, termio[s], etc. args -x - print non-ascii strings in hex, -xx - print all strings in hex -a column - alignment COLUMN for printing syscall results (default 40) |
next | back | 2017 - 17 | Fri Apr 7 14:50:44 CEST 2017 |
-e expr - a qualifying expression: option=[!]all or option=[!]val1[,val2]... options: trace, abbrev, verbose, raw, signal, read, or write -o file - send trace output to FILE instead of stderr -O overhead - set overhead for tracing syscalls to OVERHEAD usecs -p pid - trace process with process id PID, may be repeated -s strsize - limit length of print strings to STRSIZE chars (default 32) -S sortby - sort syscall counts by: time, calls, name, nothing (default time) -u username - run command as username handling setuid and/or setgid -E var=val - put var=val in the environment for command -E var - remove var from the environment for command |
next | back | 2017 - 18 | Fri Apr 7 14:50:44 CEST 2017 |
free - zeigt den freien Speicherplatz an Das free Kommando gehört zu der ps-Suite. Wie das ps Programm muss es bestimmte Daten direkt aus dem Kernelspeicher lesen. free [-b|-k|-m|-g] [-l] [-o] [-t] [-s delay] [-V] -b,-k,-m,-g Anzeigen in Bytes, KBytes, MBytes, or GBytes -l Anzeigen ausführlich -o Altes Format anzeigen (keinen -/+buffers/cache Zeile) -t Anzeigen einer total-Zeile für RAM + swap -s <delay> Aktualisieren der Anzeige alle <delay> Sekunden -V Anzeigen der Version |
next | back | 2017 - 19 | Fri Apr 7 14:50:44 CEST 2017 |
vmstat - Statistik für Virtuellen Speicher ausgeben Ausgabe von Statistikinformationen über die Nutzung und die Kapazitäten des virtuellen Speichers einschließlich zugehöriger E/A-Opterationen und E/A-Bereiche vmstat [-V] vmstat [-a] [-n] [Intervall [Anzahl]] vmstat [-f] [-s] [-m] vmstat [-S Maßeinheit] vmstat [-d] vmstat [-p platten-partition] -V prints version. -a Ausgabe der aktiven und inaktiven Seiten -d Ausgabe der Platten-Statistik -D Ausgabe der Platten-Informationen -s Ausgabe der Seitenstatistik -m Ausgabe Pufferstatistik (slabinfo) -S Maßeinheit k, K, g oder G --help dieser Text |
next | back | 2017 - 20 | Fri Apr 7 14:50:44 CEST 2017 |
top - Anzeige der Auslastung der CPU Anzeigen der Auslastung der CPU und anderer Ressourcen (z.B. Speicher durch die Prozesse. Die Ausgabe kann unter verschiedenen Gesichts- punkten sortiert werden. top -hv | -bcHisS -d delay -n iterations -p pid [, pid ...] -h, -v - Hilfstext und Version -b - Batch-Mode -d delay - Delay-Zeit -i iter - Wiederholungen top-Subkommandos h - Hilfe k - kill r - renice l,m,t - Umschalten Zusammenfassungen: l - load average m - Speicherauslastung t - cpu-status 1 - CPU-Wechsel M - Nach Speichernutzung sortieren O - Auswahl des Sortier-Kriteriums o - Auswahl der angezeigten Werte c - Umschalten lange Kommandozeile u - Nutzer auswählen z - Umschalten Color-Modus (Z einstellen) b - Umschalten Bold-Modus (B einstellen) |
next | back | 2017 - 21 | Fri Apr 7 14:50:44 CEST 2017 |
slabtop - Anzeigen der Speichernutzung durch den Kernel slabtop gibt eine detailierte aktuelle Aufstellung der Benutzung des Caches des Kernels für die einzelnen Module. Die Ausgabe kann unter verschieden Gesichtspunkten sortiert werden. slabtop [Optionen] Optionen: --delay=n, -d n Anzahl der Sekunden zwischen Aktualisierung --once, -o Nur einmal anzeigen --sort=S, -s S Sortieren nach Sortierkriterium --version, -V Anzeige der Version --help Anzeige Hilfstext Sortierungskriterien (Sub-Kommandos) a: Sortierte Ausgabe nach Anzahl aktiver Objekte b: Sortierte Ausgabe nach Objekte pro Slab c: Sortierte Ausgabe nach Cache-Size l: Sortierte Ausgabe nach Anzahl von Slabs v: Sortierte Ausgabe nach Anzahl von aktiven Slabs n: Sortierte Ausgabe nach Name o: Sortierte Ausgabe nach Anzahl von Objekten u: Sortierte Ausgabe nach Auslastung p: Sortierte Ausgabe nach Seiten pro Slab s: Sortierte Ausgabe nach Objekt-Größe |
next | back | 2017 - 22 | Fri Apr 7 14:50:44 CEST 2017 |
Solaris ------- truss - Protokollieren von allen Systemcalls und Signalen Mittels truss kann man alle Systemcalls eines Prozesses protokollieren. Der Prozess kann dabei von truss gestartet werden oder bereits laufen. Die Ausgabe kann sehr umfangreich werden. Lässt sich aber auch genau eingrenzen. truss [-fcaeildD] [-[tTvx] [!]<syscalls>] [-[sS] [!]<signals>] \ [-[mM] [!]<faults>] [-[rw] [!]<fds>] \ [-[uU] [!]<libs>:[:][!]<funcs>] [-o outfile] \ command | -p pid[/lwps] ... Aufrufmöglichkeiten von truss: truss -p pid - Liste von Prozessen und LWPs, die getracet werden sollen. Die Prozesse laufen schon. truss command - auszuführendes Kommando mit Optionen, das getracet werden soll |
next | back | 2017 - 23 | Fri Apr 7 14:50:44 CEST 2017 |
Optionen: -a - Argumentstring bei exec anzeigen -e - Environment bei exec anzeigen -d - mit Timestamps in jeder Zeile -f - bei fork oder vfork Kindprozess folgen -l - LWP-ID mit einfügen -o outfile - Protokollfile -r[!]fd - Liste von Files bei denen bei einem read() der vollständige Puffer ausgegeben werden soll (all = alle Files) (default: -r!all) -t[!]syscalls - Liste von Systemcalls, die beobachtet werden sollen -s[!]sig - Liste von zu beobachtenden Signalen (default: -sall -u[!]lib,...[:[!]func,...] - Liste von Bibliotheken und Funktionen, die getracet werden sollen -v[!]syscalls - Liste von Systemcalls, bei denen alle übergebenen Steuerblocks vollständig ausgegeben werden (default: -v!all) -w[!]fd - Liste von Files bei denen bei einem write() der vollständige Puffer ausgegeben werden soll (all = alle Files) (default: -w!all) -x[!] syscalls - Liste von Systemcalls, Ausgabe der Parameter in Hex (default: -x!all) -c - Statistik Beispiele: truss -o ls.prot ls -lisa truss -rall -vall -wall -xall aefdl -p 3456 |
next | back | 2017 - 24 | Fri Apr 7 14:50:44 CEST 2017 |
prstat - Anzeigen der Aktivitäten von Prozessen oder Nutzern prstat erzeugt eine Ausgabe der momentanen Aktivitäten von Prozessen bzw. Nutzern (top). Die Ausgabe kann einmalig, interaktiv oder mehrmalig erzeugen. Die Ausgabe kann für Nutzer, Prozessen und Prozessgruppen spezifiziert werden. prstat [-acJLmRtTvZ] [-u <euidlist>] [-U <uidlist>] [-p <pidlist] [-P <cpulist] [-C <psrsetlist>] [-j <projidlist] [-k <taskidlist] [-z <zoneidlist>] [-s <key> | -S <key>] [-n <nprocs>[,<nusers>]] [<interval< [<counter>]] -a - Prozesse und Nutzer anzeigen -c - Ausgabe nacheinander -J - Ausgabe von Prozessen und Projekten -L - LWL-Prozesse mit anzeigen -m - Microstatus anzeigen -R - Scheduling-Informationen mit anzeigen -s key - Sortieren nach key cpu, pri, rss, size, time -t - Ausgabe nach Nutzern |
next | back | 2017 - 25 | Fri Apr 7 14:50:44 CEST 2017 |
gcore - Erzeugen eines Core-Images eines aktiven Prozesses Mittels gcore kann man Core-Images von den spezifizierten Prozessen erzeugen. Der Name des Core-Images-Files ergibt sich aus "core." und der Prozess-ID. gcore [-pgF] [-o filename] [-c content] process-id... -c content Teile des Speichers, die in den Dump sollen: all, anon, ctf, data, dism, heap, ism, rodata, shanon shm, shfile, stack, symtab, text -F Force. Ziehe den Dump immer. -g Dump schreiben in Global-Core-Repository -o filename Filename des Dumpfiles -p Dump entsprechen dumpadm-Spezifikation (root) process-id Prozess-Nummer |
next | back | 2017 - 26 | Fri Apr 7 14:50:44 CEST 2017 |
plimit - Lesen und Setzen der Resourcen-Limits eines laufenden Prozesses Mit plimit kann man die Hard und Soft-Limits eines Prozesses anzeigen lassen. Ebenfalls ist das Setzen von Hard- und Soft-Limits für einen laufendne Prozess möglich Der Prozess wird mittels PID spezifiziert. Ressourcen-Limits anzeigen: plimit [-km] pid... -k File-Size in KB anstellen in 512-Byte Blöcken -m File-Size in MB (1024*1024) |
next | back | 2017 - 27 | Fri Apr 7 14:50:44 CEST 2017 |
Ressourcen-Limits setzen: plimit {-cdfnstv} soft,hard... pid... Mittels plimit kann nur der Super-User oder der Eigentümer Limits setzen. Nur der Super-User kann Hard-Limits vergrößern. -k File-Size in KB anstellen in 512-Byte Blöcken -m File-Size in MB (1024*1024) Jede Option wird durch einen Soft- und einen Hard-Wert charakterisiert. Folgende Maßeinheiten gibt es: nk n KB nm n MB (Minuten für CPU Zeit) nh n Stunden (für CPU Zeit) mm:ss Minuten und Sekunden (für CPU Zeit) Soft-Limit kann nicht größer als Hard-Limit sein. -c soft,hard Core File Size Grenzen (Standard 512-Byte Blöcke). -d soft,hard Heap size limits -f soft,hard File Size Grenzen (Einheit ist 512- Byte Blöcke). -n soft,hard File Descriptor Grenzen -s soft,hard Stack Segment Größe (Default Einheit Standard KB) -t soft,hard CPU-Zeit Grenze (Default Einheit ist Sekunden). -v soft,hard Virtuelle Memory Size pid Prozess ID Liste. |
next | back | 2017 - 28 | Fri Apr 7 14:50:44 CEST 2017 |
coreadm - core file administration coreadm specifies the name and location of core files pro- duced by abnormally-terminating processes. See core(4). Only users who have the sys_admin privilege can execute the first form of the SYNOPSIS. This form configures system-wide core file options, including a global core file name pattern and a core file name pattern for the init(1M) process. All settings are saved in coreadm's configuration file /etc/coreadm.conf to set at boot. See init(1M). Nonprivileged users can execute the second form of the SYNOPSIS. This form specifies the file name pattern and core file content that the operating system uses to generate a per-process core file. coreadm [-g pattern] [-G content] [-i pattern] [-I content] [-d option...] [-e option...] coreadm [-p pattern] [-P content] [pid...] coreadm -u |
next | back | 2017 - 29 | Fri Apr 7 14:50:44 CEST 2017 |
preap - Beenden eines Zombies Beenden eines defuncten Prozesses (Killen von Zombies). Wenn der Elternprozess nicht auf den Kindprozess wartet, entsteht ein Zombie-Prozess. Mittels preap können diese Zombie-Prozesse entfernt werden und der Eintrag in der Proc-Tabelle freigegeben werden. preap [-F] pid -F - Force |
next | back | 2017 - 30 | Fri Apr 7 14:50:44 CEST 2017 |
dtrace - dynamic tracing compiler and tracing utility DTrace is a comprehensive dynamic tracing framework for the Solaris Operating System. DTrace provides a powerful infras- tructure that permits administrators, developers, and ser- vice personnel to concisely answer arbitrary questions about the behavior of the operating system and user programs. The Solaris Dynamic Tracing Guide describes how to use DTrace to observe, debug, and tune system behavior. Refer to this book for a detailed description of DTrace features, including the bundled DTrace observability tools, instrumen- tation providers, and the D programming language. The dtrace command provides a generic interface to the essential services provided by the DTrace facility, includ- ing: o Options that list the set of probes and providers currently published by DTrace o Options that enable probes directly using any of the probe description specifiers (provider, module, func- tion, name) o Options that run the D compiler and compile one or more D program files or programs written directly on the command line |
next | back | 2017 - 31 | Fri Apr 7 14:50:44 CEST 2017 |
o Options that generate anonymous tracing programs o Options that generate program stability reports o Options that modify DTrace tracing and buffering behavior and enable additional D compiler features You can use dtrace to create D scripts by using it in a #! declaration to create an interpreter file. You can also use dtrace to attempt to compile D programs and determine their properties without actually enabling tracing using the -e option. See OPTIONS. See the Solaris Dynamic Tracing Guide for detailed examples of how to use the dtrace utility to perform these tasks. dtrace [-32 | -64] [-aACeFGHhlqSvVwZ] [-b bufsz] [-c cmd] [-D name [=value]] [-I path] [-L path] [-o output] [-s script] [-U name] [-x arg [=val]] [-X a | c | s | t] [-p pid] [-P provider [[predicate] action]] [-m [provider:] module [[predicate] action]] [-f [[provider:] module:] function [[predicate] action]] [-n [[[provider:] module:] function:] name [[predicate] action]] [-i probe-id [[predicate] action]] |
next | back | 2017 - 32 | Fri Apr 7 14:50:44 CEST 2017 |
pmap - display information about the address space of a process The pmap utility prints information about the address space of a process. /usr/bin/pmap [-rslF] [pid | core] ... /usr/bin/pmap -x [-aslF] [pid | core] ... /usr/bin/pmap -S [-alF] [pid | core] ... The pmap utility prints information about the address space of a process. Options -a Prints anonymous and swap reservations for shared mappings. -F Force. Grabs the target process even if another process has control. -l Shows unresolved dynamic linker map names. -r Prints the process's reserved addresses. -s Prints HAT page size information. -S Displays swap reservation information per mapping. -x Displays additional information per mapping. ./s_sock & pmap 14637 pmap -x -a 14637 |
next | back | 2017 - 33 | Fri Apr 7 14:50:44 CEST 2017 |
trapstat - Ausgabe eines Reports über alle Traps /usr/sbin/trapstat [-t | -T | -e entry] [- C processor_set_id | -c cpulist] [-P] [-a] [-r rate] [ [ interval [count]] | command | [args]] /usr/sbin/trapstat -l |
next | back | 2017 - 34 | Fri Apr 7 14:50:44 CEST 2017 |
pargs - Ausgabe der Argumente und Umgebungsvariablen eines laufenden Prozesses oder eines core-Files Mittels pargs erhält man die vollständige Liste der Argumente bzw. der Umgebungsvariable eines laufenden Prozesses bzw. eines mit Core-Dump abgestürzten Prozesses. pargs [-aceFl] [pid | core] ... Optionen: -a Argumente ausgeben (default). -c Ausgabe als 7-Bit-ASCII -e Umgebungsvariable ausgeben -F Force. -l Ausgabe als jeweils eine Kommandozeile pid Process ID Liste. core Process core file. ./sock asdfasd asf asdf sad sad fas fsd f asd aad d & pargs 15123 # Argumente pargs -a 15123 # identisch pargs -e 15123 # Environment pargs -l 15123 # Kommandozeile kill -3 15123 pargs -a core gdb -c core gdb s_sock core |
next | back | 2017 - 35 | Fri Apr 7 14:50:44 CEST 2017 |
|
back | 2017 - 36 | Fri Apr 7 14:50:44 CEST 2017 |