#!/usr/bin/env bash set -euo pipefail shopt -s nullglob for info in state/vm-*/info; do id="$(awk -F= '$1=="id"{print $2}' "$info")" name="$(awk -F= '$1=="name"{print $2}' "$info")" created_at="$(awk -F= '$1=="created_at"{print $2}' "$info")" guest_ip="$(awk -F= '$1=="guest_ip"{print $2}' "$info")" pid="$(awk -F= '$1=="pid"{print $2}' "$info")" tap="$(awk -F= '$1=="tap"{print $2}' "$info")" api_sock="$(awk -F= '$1=="api_sock"{print $2}' "$info")" if [[ -z "$pid" || -z "$api_sock" ]]; then continue fi if ps -p "$pid" -o comm=,args= 2>/dev/null | rg -q "firecracker.*--api-sock $api_sock"; then printf 'id=%s name=%s created_at=%s guest_ip=%s pid=%s tap=%s\n' \ "$id" "$name" "$created_at" "$guest_ip" "$pid" "$tap" fi done