#!/bin/sh # Locate nix daemon pid nd=$(pgrep -o nix-daemon) # Locate children of nix-daemon pids1=$(tr ' ' '\n' < "/proc/$nd/task/$nd/children") # For each children, locate 2nd level children pids2=$(echo "$pids1" | xargs -I @ /bin/sh -c 'cat /proc/@/task/*/children' | tr ' ' '\n') cat </dev/null | tr '\0' '\n' | rg "^name=(.+)" - --replace '$1' | tr -dc ' [:alnum:]_\-\.') user=$(ps -o uname= -p "$pid") if [ -n "$name" -a -n "$user" ]; then printf 'nix_daemon_build{user="%s",name="%s"} 1\n' "$user" "$name" fi done