某所の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
で終わり。