From 272d277b1f4c23009d8addf5b3f45545b04dbd70 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Sat, 8 Nov 2025 13:37:43 -0600 Subject: feat: add utility scripts for process and auth management MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add two new utility scripts to dotfiles: - clobberall: repeatedly kills all processes with given name - reset-auth: resets GPG and SSH authentication agents Both scripts follow existing conventions with proper headers, usage help, and executable permissions. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- dotfiles/system/.local/bin/clobberall | 20 +++++++++++++++++++ dotfiles/system/.local/bin/reset-auth | 36 +++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100755 dotfiles/system/.local/bin/clobberall create mode 100755 dotfiles/system/.local/bin/reset-auth diff --git a/dotfiles/system/.local/bin/clobberall b/dotfiles/system/.local/bin/clobberall new file mode 100755 index 0000000..a570d4e --- /dev/null +++ b/dotfiles/system/.local/bin/clobberall @@ -0,0 +1,20 @@ +#!/usr/bin/env bash +# clobberall +# Repeatedly kills all processes with the given name until none remain +# Usage: clobberall +# +# Craig Jennings + +if [ $# -eq 0 ]; then + echo "Usage: clobberall " + echo "Example: clobberall emacs" + exit 1 +fi + +process_name="$1" + +while sudo killall "$process_name" 2>/dev/null; do + sleep 0.1 +done + +echo "All '$process_name' processes terminated." diff --git a/dotfiles/system/.local/bin/reset-auth b/dotfiles/system/.local/bin/reset-auth new file mode 100755 index 0000000..a3aaeb5 --- /dev/null +++ b/dotfiles/system/.local/bin/reset-auth @@ -0,0 +1,36 @@ +#!/usr/bin/env bash +# reset-auth +# Resets all GPG and SSH authentication agents +# Useful when auth gets stuck or after unlocking gpg keys +# +# Craig Jennings + +echo "Resetting authentication agents..." + +# Kill GPG agent cleanly +echo " Stopping gpg-agent..." +gpgconf --kill gpg-agent 2>/dev/null + +# Kill any remaining gpg-agent processes +killall gpg-agent 2>/dev/null + +# Kill SSH agent +echo " Stopping ssh-agent..." +killall ssh-agent 2>/dev/null + +# Clear GPG cache +echo " Clearing GPG cache..." +gpgconf --reload gpg-agent 2>/dev/null + +# Restart GPG agent +echo " Starting gpg-agent..." +gpg-connect-agent /bye 2>/dev/null + +# Note: SSH agent typically starts automatically via shell profile or systemd +# If you need to manually start ssh-agent, uncomment: +# eval "$(ssh-agent -s)" + +echo "✓ Authentication agents reset complete" +echo "" +echo "Note: You may need to source your shell profile or start a new terminal" +echo " for SSH agent to be fully reinitialized." -- cgit v1.2.3