If the path specification is one where some component does not exist, sendmail will log the
following message and not use a controlling socket:
daemon could not open control socket /vqr/spool/mqueue/.control: No such file or
directory
Here, /vqr was mistyped, when /var is what was meant.
An example of code that shows one way to use the controlling socket is in contrib/
smcontrol.pl, a perl(1) script that requires version 5 or higher perl to use. It gathers the
name of the control socket from the hardcoded file named /etc/mail/sendmail.cf. To run it,
you just invoke it with a single argument:
# cd contrib
# ./smcontrol.pl help
Help for smcontrol:
help This message.
restart Restart sendmail.
shutdown Shut down sendmail.
status Show sendmail status.
memdump Dump allocated memory list (for debugging only).
End of HELP info
The contrib/smcontrol.pl program is a simple command-line interface to the controlling
socket. It should be considered a prototype for developing your own, more sophisticated,
tools. Consider, for example, the usefulness of the status output:
# ./smcontrol.pl status
Daemon Status: (process 13480) Accepting connections
Child Process 13560 Status: SMTP server child for 123.45.67.8
Child Process 13579 Status: SMTP server child for 123.45.67.9
Child Process 13584 Status: console socket child
This shows that the daemon is up, and that two sites are connected to yours for the transmission
of mail.
Pages:
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757