#!/usr/bin/env bash # tbpr — "thread by process". Short, directly-invokable wrapper: tbpr # Cross-site substring match on PROCESSNAME (v1 `tbpr`). Maps to: # nc-find.sh --process . # # tbpr route_epic # every thread whose process contains 'route_epic' # tbpr recv --format tsv set -o pipefail _self="${BASH_SOURCE[0]}"; [ -L "$_self" ] && _self="$(readlink "$_self")" . "$(cd "$(dirname "$_self")" && pwd)/_nc_common.sh" if [ "${1:-}" = "-h" ] || [ "${1:-}" = "--help" ]; then awk 'NR==1{next} /^#/{sub(/^# ?/,""); print; next} {exit}' "${BASH_SOURCE[0]}" exit 0 fi [ $# -ge 1 ] || { echo "tbpr: usage: tbpr [--format tsv|table|jsonl]" >&2; exit 2; } lib="$(_nc_resolve_lib)" || { echo "tbpr: lib/ toolkit not found (set LARRY_LIB_DIR or LARRY_HOME)" >&2; exit 1; } proc="$1"; shift exec bash "$lib/nc-find.sh" --process "$proc" "$@"