strace - was macht mein Linux-Programm eigentlich gerade?

strace -> wieso läuft asterisk noch nicht non-root

strace -e open -f asterisk -U asterisk -G asterisk -f -C \
 /etc/asterisk/asterisk.nonroot.conf 2>&1 | grep -v RDONLY

..(output)..
[pid  5202] open("/var/lib/asterisk/astdb", O_RDWR|O_CREAT, 0664) = -1 EACCES
(Permission denied)
..(output)..

→ diese Datei war noch nicht im asterisk-User-Besitz

mit strace einen schon laufenden Prozess beobachten

einfach nur die PID mit “-p” angeben, und schon weiss man, was die Software gerade tut ... und ob sie noch was tut.

hier sehe ich mal meinem kmail beim Mailsortieren zu:

strace -f -p 32738 2>&1 | egrep -v '(gettimeofday|ioctl)'
Process 32742 attached with 5 threads - interrupt to quit
[pid 32741] futex(0x8829014, FUTEX_WAIT_PRIVATE, 4, NULL <unfinished ...>
[pid 32742] futex(0x8829014, FUTEX_WAIT_PRIVATE, 4, NULL <unfinished ...>
[pid 32740] futex(0x8829014, FUTEX_WAIT_PRIVATE, 4, NULL <unfinished ...>
[pid 32739] futex(0x8829014, FUTEX_WAIT_PRIVATE, 4, NULL <unfinished ...>
[pid 32738] _llseek(33, 12066816, [12066816], SEEK_SET) = 0
[pid 32738] time(NULL)                  = 1274432121
[pid 32738] brk(0x181c9000)             = 0x181c9000
[pid 32738] _llseek(33, 12066816, [12066816], SEEK_SET) = 0
[pid 32738] read(33, "s2-de01: VPN erhebliche performa"..., 4096) = 4096
[pid 32738] time(NULL)                  = 1274432121
[pid 32738] _llseek(33, 12070912, [12070912], SEEK_SET) = 0
[pid 32738] read(33, "example.com>\r\nSubject: !!! Waiting "..., 4096) = 4096

Links


gilt für alle Tipps, Tricks & Spickzettel:
dies sind einfache, teils banale Notizen für meinen persönlichen Gebrauch, die hier eher zufällig auch öffentlich lesbar sind (vielleicht hilft es ja jemandem weiter). Verwendung auf eigene Gefahr :!:

Fehler-Hinweise, Dankesschreiben :-), etc. bitte an: web.0811@unixwitch.de

weitere Tools / Spickzettel

 
de/sysadmin/tools/strace.txt · Last modified: 2010-05-21 by hella
Valid XHTML 1.0 Valid CSS German Unix User Group Frühjahrsfachgespräch 2009