タグ

2016年1月5日のブックマーク (3件)

  • Tips (CGI, Perl, Unix and etc.)

    Tips 目次 Tips (CGI&SSI) ブラウザの表示を変化させない CGI スクリプト(Status: 204 No Content) 他の URI (URL) にジャンプする CGI スクリプト(Location フィールド) CGI のタイムアウトおよびブラウザの中断 CGIスクリプト中で重い処理をバックグランド実行 サーバによるタイムアウトを回避 サーバによるタイムアウトを回避&重い処理の保護 SSI における HTML 出力の中断 CGI出力内容のコピーをファイルに出力 CGIによるブラウザでのダウンロード POST のサイズ制限 Content-Encodig による gzip 圧縮 Tips (Perl) flock の使い方 排他制御 実効 UID の切替え perl の setuid スクリプト perl の system、exec、パイプ fork, system

    stealthinu
    stealthinu 2016/01/05
    perlのCGIで非常に時間がかかる処理をさせるような場合にSIGPIPEで死なないようにforkしてそっちで処理を継続させるサンプル。
  • 第6回 UNIXプログラミングの勘所(3) | gihyo.jp

    ネットワークプログラムとSIGPIPE 「私の書いたサーバが突然死するんです。どうしてでしょうか」という質問を受けることがあります。これは多くの場合、SIGPIPEの処理を忘れていることが原因です。SIGPIPEとは、切断されたネットワークソケットなどにデータを書き込もうとした際に送出されるUNIXシグナルです。特に設定しない限り、プロセスはSIGPIPEを受け取ると強制終了されます。そのため、通信が突然切断される可能性のあるTCPサーバにおいては、SIGPIPEを無視するよう設定する必要があります。 # デフォルトの動作(SIGPIPEの場合はプロセスの終了)に設定 $SIG{PIPE} = 'DEFAULT'; # SIGPIPEを無視するよう設定 $SIG{PIPE} = 'IGNORE'; # SIGPIPEを受信した際に実行するサブルーチンリファレンスを # 設定 $SIG{PI

    第6回 UNIXプログラミングの勘所(3) | gihyo.jp
    stealthinu
    stealthinu 2016/01/05
    perlのCGIなどでクライアントの接続が切れている状況で出力しようとするとSIGPIPEが発生してその時点でperlが死ぬ。$SIG{PIPE}を設定するか時間掛かる処理はforkしておく。
  • 送信サーバー設定

    送信モードを設定します。 ノーマル 通常配信を行います。 ノーマルで大規模なメール配信を行うと、メール配信が完了するまではブラウザを閉じたり、 他ページへ移動する事ができません。 分割送信 分割配信を行います。 たとえば「分割送信件数10件」 「分割待ち時間10秒」と設定した場合 10件の送信ごとに10秒間、配信をストップします。 携帯電話のアドレス等へは一度に大量のメールのメールを送信するとスパムと扱われる事もある為、 ある程度時間を分割して送信する事でこれを対策する事ができます。 バックグラウンド送信 バックグランド送信を行うと、送信の命令を受け取った後は、バックグラウンドで配信を行います。 ローカルサーバーを選択した場合は、acmailerが設置されたサーバーのメールサーバーを使用します。 sendmailパス サーバーのメールプログラム(MTA)パスを入力します。 「サーバー上のパ

    送信サーバー設定
    stealthinu
    stealthinu 2016/01/05
    バックグランド送信の場合だとブラウザを閉じても大丈夫なのに逆っぽく読める記述になってたの修正された。