+ #elif __FreeBSD__
+
+ #include <sys/sysctl.h>
+
+ int mib[4];
+ mib[0] = CTL_KERN;
+ mib[1] = KERN_PROC;
+ mib[2] = KERN_PROC_PATHNAME;
+ mib[3] = -1;
+
+ size_t size = sizeof(exec_path);
+
+ const int len = sysctl(mib, 4, exec_path, &size, NULL, 0);
+