Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 53df0b63 authored by Mike Lockwood's avatar Mike Lockwood Committed by Android (Google) Code Review
Browse files

Merge "lsof: Add support for printing open files for a single process"

parents 0569692b 794cc3fd
Loading
Loading
Loading
Loading
+25 −16
Original line number Diff line number Diff line
@@ -196,28 +196,37 @@ void lsof_dumpinfo(pid_t pid)

int lsof_main(int argc, char *argv[])
{
    long int pid = 0;
    char* endptr;
    if (argc == 2) {
        pid = strtol(argv[1], &endptr, 10);
    }

    print_header();

    if (pid) {
        lsof_dumpinfo(pid);
    } else {
        DIR *dir = opendir("/proc");
        if (dir == NULL) {
            fprintf(stderr, "Couldn't open /proc\n");
            return -1;
        }

    print_header();

        struct dirent* de;
        while ((de = readdir(dir))) {
            if (!strcmp(de->d_name, ".") || !strcmp(de->d_name, ".."))
                continue;

            // Only inspect directories that are PID numbers
        char* endptr;
        long int pid = strtol(de->d_name, &endptr, 10);
                pid = strtol(de->d_name, &endptr, 10);
            if (*endptr != '\0')
                continue;

            lsof_dumpinfo(pid);
        }
        closedir(dir);
    }

    return 0;
}