1 /* pwdx.c - report current directory of a process. 2 * 3 * Copyright 2013 Lukasz Skalski <l.skalski@partner.samsung.com> 4 5 USE_PWDX(NEWTOY(pwdx, "<1a", TOYFLAG_USR|TOYFLAG_BIN)) 6 7 config PWDX 8 bool "pwdx" 9 default y 10 help 11 usage: pwdx PID... 12 13 Print working directory of processes listed on command line. 14 */ 15 16 #include "toys.h" 17 pwdx_main(void)18void pwdx_main(void) 19 { 20 char **optargs; 21 22 for (optargs = toys.optargs; *optargs; optargs++) { 23 char *path; 24 int num_bytes; 25 26 path = xmprintf("/proc/%s/cwd", *optargs); 27 num_bytes = readlink(path, toybuf, sizeof(toybuf)-1); 28 free(path); 29 30 if (num_bytes==-1) { 31 path = strerror(errno); 32 toys.exitval = 1; 33 } else { 34 path = toybuf; 35 toybuf[num_bytes] = 0; 36 } 37 xprintf("%s: %s\n", *optargs, path); 38 } 39 } 40