Postfix can attach a call tracer whenever a daemon process
starts. Call tracers come in several kinds.
-
System call tracers such as trace, truss,
strace, or ktrace. These show the communication
between the process and the kernel.
-
Library call tracers such as sotruss and ltrace.
These show calls of library routines, and give a better idea of
what is going on within the process.
Append a -D option to the suspect command in
/etc/postfix/master.cf, for example:
/etc/postfix/master.cf:
smtp inet n - n - - smtpd -D
Edit the
debugger_command definition in /etc/postfix/main.cf
so that it invokes the call tracer of your choice, for example:
/etc/postfix/main.cf:
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin;
(truss -p $
process_id 2>&1 | logger -p mail.info) & sleep 5
Type "postfix reload" and watch the logfile.