FILE *fp;
FILE *fp_cmdline;
struct stat sb;
+ char type[BUFSIZE];
int pid;
unsigned int maj;
unsigned int min;
return;
}
- while (fscanf(fp, "%*s %*s %*s %*s %d %x:%x:%lu %*s %*s",
- &pid, &maj, &min, &ino) != EOF) {
+ while (fscanf(fp, "%*s %*s %*s %5s %d %x:%x:%lu %*s %*s",
+ type, &pid, &maj, &min, &ino) != EOF) {
if (maj != major(sb.st_dev) || min != minor(sb.st_dev) ||
- ino != sb.st_ino || pid == getpid())
+ ino != sb.st_ino || pid == getpid() ||
+ strcasecmp(type, "WRITE"))
continue;
snprintf(cmdline, sizeof(cmdline), "/proc/%d/cmdline", pid);