-static void show_cgroup(const char *name) {
- char *fn;
- FILE *f;
- pid_t last = 0;
-
- if (!startswith(name, "name=systemd:"))
- return;
-
- if (asprintf(&fn, "/cgroup/systemd/%s/tasks", name + 13) < 0)
- return;
-
- f = fopen(fn, "r");
- free(fn);
-
- if (!f)
- return;
-
- while (!feof(f)) {
- unsigned long ul;
-
- if (fscanf(f, "%lu", &ul) != 1)
- break;
-
- if (ul <= 0)
- continue;
-
- if (last > 0) {
- char *t = NULL;
- get_process_cmdline(last, 60, &t);
- printf("\t\t \342\224\234 %lu %s\n", (unsigned long) last, strna(t));
- free(t);
- } else
- printf("\t\t \342\224\202\n");
-
- last = (pid_t) ul;
- }
-
- if (last > 0) {
- char *t = NULL;
- get_process_cmdline(last, 60, &t);
- printf("\t\t \342\224\224 %lu %s\n", (unsigned long) last, strna(t));
- free(t);
- }
-
- fclose(f);
-}
-