戻る

前へ|| 次へ

0003 sendmail.pid 再起動 停止 起動 その2

sendmail.pid ファイルを見てみましょう、内容は

# cat /var/run/sendmail.pid 
86
/usr/sbin/sendmail -bd -q15m

の 形をしています pid ファイルは通常以下のような形をしてると 考えますが

# cat /var/run/inetd.pid 
61
# cat /var/run/named/named.pid 
66
# cat /var/data/www/apache2/logs/httpd.pid 
94

sendmail の sendmail.pid ファイルは 少し 形が異なっています。最初の行 は pid の 番号がきて その次の行は 起動した 内容(起動方法)が記載されて いるようです これを 良く見て 起動停止の 方法が 以下のようにすれば実現出 来るようです

sendmail の 再起動と停止

sendmailの 再起動と停止は 以下のような 方法で 対応出来ると言う事です

# kill -HUP `head -1 /var/run/sendmail.pid`       /*  再起動  */
or
# kill `head -1 /var/run/sendmail.pid`            /*  停止  */
# `tail -1 /var/run/sendmail.pid`                 /*  起動  */

これをみても にゃんたろうの ような 素人には どうしてるのか さっぱり 見えて来ません
”/var/run/sendmail.pid”というものの 中身を再度見ておきましょう

$ su -
Password: 
# cat /var/run/sendmail.pid 
86
/usr/sbin/sendmail -bd -q15m

それがどうした といわれれば

$ head -1 /var/run/sendmail.pid
head: /var/run/sendmail.pid: 許可がありません  /*  そうですか ごめんなさい */
$ su -
Password: 
# head -1 /var/run/sendmail.pid
86

ほたら

# tail -1 /var/run/sendmail.pid
/usr/sbin/sendmail -bd -q15m

見ての通りです ”-bd -q15m”これが 何らかの動作を 規定しているようで す。そんでもって これの意味するものは 何かいなと云うことに なりますが デー モンモードにて起動させているんだくらいで 良いと思います。 その前に もう少し”sendmail.pid”について 見ておきますこれは sendmail の 現状を 見たものです 起動している状況です

# ps aux | grep sendmail | grep -v grep
root      86  0.0  0.5  3312 1536 ?      S    08:19   0:00 sendmail: accepti
# ps ax | grep sendmail | grep -v grep
   86 ?        S      0:00 sendmail: accepting connections

此の状態で 以下の事を 試みてみましょう

# kill -HUP `head -1 /var/run/sendmail.pid`
# ps aux | grep sendmail | grep -v grep
root       352  0.0  0.5  3312 1536 ?   S    09:15   0:00 sendmail: accepti
# ps ax | grep sendmail | grep -v grep
  352 ?        S      0:00 sendmail: accepting connections

停止してまた起動しているようです pid 番号が 86 から 352 に 変わりまし た

# cat /var/run/sendmail.pid 
352
/usr/sbin/sendmail -bd -q15m

設定ファイルを 書き換えて再起動させる場合は 此の方法を 取るようです。では 本当に停止させるには

# kill `head -1 /var/run/sendmail.pid`
# ps aux | grep sendmail | grep -v grep
# ps ax | grep sendmail | grep -v grep

これで 本当に停止したようです ここで 当然 ”sendmail.pid” の内容を確認しておきましょう

# cat /var/run/sendmail.pid 
352
/usr/sbin/sendmail -bd -q15m

あれ?あれ??あれ??? なんか 動いてるの?ほんじゃ 起動させてみましょう

# /usr/sbin/sendmail -bd -q15m
# ps aux | grep sendmail | grep -v grep
root       372  0.0  0.5  3316 1536 ?        S    09:25   0:00 sendmail: accepti
# ps ax | grep sendmail | grep -v grep
  372 ?        S      0:00 sendmail: accepting connections
# cat /var/run/sendmail.pid
372
/usr/sbin/sendmail -bd -q15m

しろうとにの にゃんたろうに とっては 奇妙な振舞に 見えますが”pid”の 番号が 変化している事が事実としてあります、それぞれ ”86”、”352”、” 372”の ように 変化している点を 考慮さ れれば良いと考えます。プロに とっては きっと、”あたり...のクラッカー”なので しょう!えれぇこっちゃ 何をしようとしているんだ

sendmail -bd -q15m

ほたら ”-bd -q15m”に ついて も みてゆくべ これは たまたま デーモ ンモードで 起動させています デーモンモード ですので この 悪魔は 15分に 1回の割合で 黙っていても メールを貯めている所から 送信する 役目を 持た せていると云うことですじゃ デーモンモードというからには そうじゃ無いモー ドも 当然有るのでしょうということです。

man sendmail の 抜粋

     -bd         デーモンモードで実行します。Berkley IPC が必要です。 sendmail
                 は fork(2) を行い、バックグラウンドで動作し、ソケット番号 25
                 で SMTP コネクションを待ちます。通常このモードは、 /etc/rc か
                 ら実行されています。
     -q[time]    キューのなかにあるメッセージを処理する間隔を設定します。 time
                 を省略した場合は、キューの内容を一度だけしか処理しません。
                 time は、 `s' (秒)、 `m' (分)、 `h' (時間)、 `d' (日)、 `w'
                 (週)の単位を付けた数字で指定します。たとえば、 `-q1h30m' や
                 `-q90m' は、タイムアウトを 1 時間 30 分に設定します。 time が
                 指定されると、 sendmail はデーモンとしてバックグラウンドで実
                 行されます。このオプションは、問題なく -bd と共に指定可能で
                 す。

デーモンは 悪魔なんかという ことはこの際おいておいて下さいここ ”http://www.freebsd.org/ja/copyright/daemon.html”を 見る事ができれば 有益な 事が得られるかもしれません ”daemon demon” 等で 検索してみられれば と 考えています


前へ|| 次へ

戻る

にゃんたろう 拝!
2006年 9月23日 (土) 22:48:27 JST 作成

Copyright © 2004.-2007. nyantarou All Rights Reserved.