diff options
| author | Craig Jennings <c@cjennings.net> | 2025-11-08 13:37:43 -0600 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2025-11-08 13:37:43 -0600 |
| commit | 272d277b1f4c23009d8addf5b3f45545b04dbd70 (patch) | |
| tree | 73dfcc765d367f55f7d244d74bec83da42125428 | |
| parent | 3eec309681ecab70a5c5b951616492f3df3634db (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-x | dotfiles/system/.local/bin/clobberall | 20 | ||||
| -rwxr-xr-x | dotfiles/system/.local/bin/reset-auth | 36 |
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." |
