noreallyjustfuckingstopalready - Mac OSXのDNSキャッシュをクリア
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用のソフトウェア(ソースコードは公開されていますがライセンスは明記されていません)です。