summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2025-11-08 13:37:43 -0600
committerCraig Jennings <c@cjennings.net>2025-11-08 13:37:43 -0600
commit272d277b1f4c23009d8addf5b3f45545b04dbd70 (patch)
tree73dfcc765d367f55f7d244d74bec83da42125428
parent3eec309681ecab70a5c5b951616492f3df3634db (diff)
feat: add utility scripts for process and auth management
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 <noreply@anthropic.com>
-rwxr-xr-xdotfiles/system/.local/bin/clobberall20
-rwxr-xr-xdotfiles/system/.local/bin/reset-auth36
2 files changed, 56 insertions, 0 deletions
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 <process_name>
+#
+# Craig Jennings <c@cjennings.net>
+
+if [ $# -eq 0 ]; then
+ echo "Usage: clobberall <process_name>"
+ 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 <c@cjennings.net>
+
+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."