Mac OSXではDNSアクセスの結果をキャッシュします。それは当然なのですが、開発中などでそのキャッシュの作用によってイライラした経験がある人はいないでしょうか。 そこで使ってみたいのがnoreallyjustfuckingstopalreadyです。名前からもかなりのストレスが感じられる、そんなソフトウェアです。

noreallyjustfuckingstopalreadyの使い方

処理内容ですが、次のようになっています。

#!/bin/bash
# HT https://support.apple.com/en-us/HT202516
LONGVERSION=$(sw_vers -productVersion)
#Why do people grep | awk ? awk has pattern matching; please stop!
MINOR=$(echo $LONGVERSION | cut -d. -f2)
UPDATE=$(echo $LONGVERSION | cut -d. -f3)

if (( $MINOR < 7 )) ; then 
    FLUSH="dscacheutil -flushcache"
elif (( $MINOR < 10 )) ; then
    FLUSH="killall -HUP mDNSResponder"
elif (( $MINOR == 10 )) ; then
    if (( $UPDATE < 4 )) ; then
        FLUSH="discoveryutil mdnsflushcache"
    else
        FLUSH="killall -HUP mDNSResponder"
    fi
else
    echo VERSION $LONGVERSION
    FLUSH="killall -HUP mDNSResponder"
    echo "¯\_(ツ)_/¯"
fi

echo "Flushing DNS Cache for $LONGVERSION"
echo "$FLUSH #(งツ)ว"
$FLUSH

OSのバージョンによって、DNSキャッシュのクリア方法が異なるのが分かります。これが相当なストレスになったのではないでしょうか。もしこれまで使っていた方法でキャッシュがクリアされない場合はnoreallyjustfuckingstopalreadyを参考にしても良さそうです。

noreallyjustfuckingstopalreadyはMac OSX用のソフトウェア(ソースコードは公開されていますがライセンスは明記されていません)です。

eventi/noreallyjustfuckingstopalready: Please OS X (or whatever your name is) just fucking reset your DNS cache please