を参考にqmailの設定をしているのですが、
これで紹介されている起動スクリプトでは
qmailの起動はできても停止ができないです。すいません、起動スクリプトをどう直せばいいでしょか。
よろしくお願いします。
↓はそのスクリプトです。
#vi /etc/rc2.d/S99qmailboot
#!/bin/sh
# Using splogger to send the log through syslog.
# Using qmail-local to deliver messages to ~/Mailbox by default.
/usr/local/bin/tcpserver -x /usr/local/etc/tcp.smtp.cdb -u 7791 -g 2108 0 smtp var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd 3 &
exec env - PATH=”/var/qmail/bin:$PATH” ¥
qmail-start ./Mailbox splogger qmail &
停止させるには
# ps -aux | grep qmail-send
// 上記コマンドで表示されたPIDでkillを実行(qmailを起動する毎に確認)
# kill PID
と KILLするしかないようですが、これで停止しないのでしょうか?
http://www.hatena.ne.jp/1100675674#
人力検索はてな - http://www.ipa.go.jp/security/awareness/administrator/secure-web/chap4/4_qmail.html を参考にqmailの設定をしているのですが、 これで紹介されている起動スクリプトで..
質問文のURLと回答1のURLから察するに、下記のスクリプトで再起動できるのではないでしょうか。(手元に実行環境がないので未確認です。すみません)
#!/bin/sh
killproc() { # kill named processes
pid=`/usr/bin/ps -e |
/usr/bin/grep $1 |
/usr/bin/sed -e ’s/^ *//’ -e ’s/ .*//’`
[ ”$pid” != ”” ] && kill $pid
}
case ”$1” in
’start’)
# start smtp
ps -e | grep tcpserver > /dev/null 2>&1
if [ $? -eq 0 ]
then
echo ”tcpserver daemon already running. tcpserver start aborted”
exit 0
fi
if [ -x /usr/local/bin/tcpserver ]
then
/usr/local/bin/tcpserver -x /usr/local/etc/tcp.smtp.cdb -u 7791 -g 2108 0 smtp var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd 3 &
echo ”tcpserver is running.”
fi
# start qmail
ps -e | grep qmail-send > /dev/null 2>&1
if [ $? -eq 0 ]
then
echo ”qmail daemon already running. qmail start aborted”
exit 0
fi
if [ -x /var/qmail/bin/qmail-start ]
then
exec env - PATH=”/var/qmail/bin:$PATH”qmail-start ./Mailbox splogger qmail &
touch /var/lock/subsys/qmail
echo ”qmail is running.”
fi
;;
’stop’)
echo -n ”Shutting down qmail: ”
killproc qmail-send
killproc tcpserver
rm -f /var/lock/subsys/qmail
echo
;;
’restart’)
echo -n ”Restarting qmail: ”
$0 stop
$0 start
exit $?
;;
*)
echo ”Usage: S99qmailboot { start | stop | restart }”
;;
esac
exit 0
遅くなりましてすいません。
ありがとうございます。m(__)m
さっそく試してみます。
すいません、早速ありがとうございます。m(_ _)m
説明不足で申し訳ありませんでした、目的はqmailの設定変更をしたときに容易にqmailを再起動して反映させたかったからです。
ちなみにSolarisですが、qmailを起動すると下記のデーモンが動いています。
# ps -ef | grep qmail
root 264 1 0 08:38:10 ? 0:00 /var/qmail/bin/splogger smtpd 3
qmaild 265 264 0 08:38:10 ? 0:00 /usr/local/bin/tcpserver -x /usr/local/etc/tcp.smtp.cdb -u 7791 -g 2108 0
smtp
qmailr 4752 4749 0 13:09:01 pts/2 0:00 qmail-rspawn
qmailq 4753 4749 0 13:09:01 pts/2 0:00 qmail-clean
qmaill 4750 4749 0 13:09:01 pts/2 0:00 splogger qmail
qmails 4749 1 0 13:09:01 pts/2 0:00 qmail-send
root 4751 4749 0 13:09:01 pts/2 0:00 qmail-lspawn ./Mailbox
いただいた回答をやってみると下記になります。
# ps -ef | grep qmail-send
qmails 266 1 0 08:38:10 ? 0:00 qmail-send
# kill 266
# ps -ef | grep qmail
root 264 1 0 08:38:10 ? 0:00 /var/qmail/bin/splogger smtpd 3
qmaild 265 264 0 08:38:10 ? 0:00 /usr/local/bin/tcpserver -x /usr/local/etc/tcp.smtp.cdb -u 7791 -g 2108 0
smtp
qmailの設定変更の目的を考えると上記2つのデーモンは無視していいのでしょうか。
よろしくお願いします。