#include #include #include #include #include #include int main(int argc, char **argv) { static const int name[] = { CTL_KERN, KERN_PROC_ARGS, -1, KERN_PROC_PATHNAME, }; char path[MAXPATHLEN]; size_t len; int rv; struct stat st; rv = chroot("/var/tmp"); if (rv != 0) { printf("chroot() failed\n"); return -1; } getcwd(path, MAXPATHLEN); printf("cwd='%s'\n", path); len = sizeof(path); if (sysctl(name, __arraycount(name), path, &len, NULL, 0) != -1) printf("execname='%s'\n", path); else { printf("ERR\n"); return -1; } rv = stat(path, &st); if (rv == 0) printf("We can stat '%s'\n", path); else printf("Cannot stat '%s'\n", path); return 0; }