質問: **下記リンク先で、終了時にUNIXソケットのファイルを削除しているのはなぜですか?** ・nginx + Go-FCGI で Web アプリを動かす --- **Goだからですか?** ・PHPもしくはPythonとUNIXドメインソケットの組み合わせだったら、削除する必要はない? ・それとも、UNIXドメインソケット使用する場合は、アプリ側で終了時にUNIXソケットファイルの削除処理を必ず書く必要がある??
回答: 通信する以上はサーバー側とクライアント側がいるわけです。実用に供するシステムでは、マシンの起動時にサーバーソフトウエアが自動起動し、ユーザーの操作によりクライアントが当該サーバーソフトウエアを使う、ということになるかと思います。 でも、バージョンアップとかバックアップとかの理由により一時的にサーバーソフトウェアを停止することもあるでしょう。当然その間はサーバーソフトウエアが使えません。 UNIX ドメインソケットの有無がサーバーソフトウエアの生死に連動していれば、クライアント側から見て「サーバーソフトウエアが起動している」ことを確認する目的に UNIX ドメインソケットの存在を使うことができます。サーバーソフトウエアはそのように作るほうがクライアントにとって親切ですよね。 `mysql.sock` なんかはそういう運用をしています。 回答としては * UNIX ドメインソケットをサーバーソフト終了時に削除する「義務はない」が、削除するほうが「使いやすい」であろう * この話は言語によらない でいいと思います。