OS X上SoftEtherのdaemon化

某所のMac OS X 10.14.6上で稼働しているSoftEther VPN Serverをやっとdaemon化した。OSをアップデートして何が動かなくなるかわからないし、そもそもこいつをMojaveにする気もなかったのに。

現状このMac上でSoftEtherが稼働しているのは

/vpnserver

である。この時点でちょっともうおかしいのだが。

これをdaemon化するため、

/Library/LaunchDaemons

のなかにplistを新しく追加する。現状でフォルダ内を眺めるとDockerやCUDAなんかがdaemon化されている。

適当にnet.softether.vpnserverdみたいな名前をつけた。

$ cd /Library/LaunchDaemons
$ sudo vi net.softether.vpnserverd.plist

plistの中身はXMLで。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>KeepAlive</key>
        <true/>
        <key>Label</key>
        <string>net.softether.vpnserverd</string>
        <key>ProgramArguments</key>
        <array>
                <string>/vpnserver/vpnserver</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
</dict>
</plist>

これで自動起動し(RunAtLoad)、プロセスが死んでも再度立ち上がる(KeepAlive)ようになる。

plistを作るなり書き換えるなりしたら最後は、

$ sudo launchctl load /Library/LaunchDaemons/net.softether.vpnserverd.plist

で終わり。