/* pwdx.c - report current directory of a process. * * Copyright 2013 Lukasz Skalski USE_PWDX(NEWTOY(pwdx, "<1a", TOYFLAG_USR|TOYFLAG_BIN)) config PWDX bool "pwdx" default y help usage: pwdx PID... Print working directory of processes listed on command line. */ #include "toys.h" void pwdx_main(void) { char **optargs; for (optargs = toys.optargs; *optargs; optargs++) { char *path; int num_bytes; path = xmprintf("/proc/%s/cwd", *optargs); num_bytes = readlink(path, toybuf, sizeof(toybuf)-1); free(path); if (num_bytes==-1) { path = strerror(errno); toys.exitval = 1; } else { path = toybuf; toybuf[num_bytes] = 0; } xprintf("%s: %s\n", *optargs, path); } }