Risposte:
Con l'attuale GPG (2.1+), per fermarti gpg-agent puoi usare gpgconf --kill, in questo modo:
gpgconf --kill gpg-agent
Non dovresti aver bisogno di riavviarlo manualmente. GPG lo riavvierà quando è necessario.
~/.gnupgdirectory, dovrai riavviare l'agente gpg manualmente.
gpg-agentnon è un servizio a livello di sistema ma è stato avviato una volta per utente (quindi non è gestito da service). Anche se a volte invocato dai dotfile dell'utente o almeno in Debian e derivati anche quando X11 viene avviato (e gpg-agentinstallato) in /etc/X11/Xsession.d/90gpg-agent(per assicurarsi che un comune gpg-agentsia usato da tutte le chiamate GnuPG, indipendentemente dal terminale o dalle applicazioni della GUI); viene anche avviato automaticamente da GnuPG quando richiesto. Da man gpg-agent:
L'agente viene avviato automaticamente su richiesta da gpg, gpgsm, gpgconf o gpg-connect-agent. Quindi non c'è motivo di avviarlo manualmente. Se si desidera utilizzare l'agente Secure Shell incluso, è possibile avviare l'agente utilizzando:
gpg-connect-agent /bye
Di solito, un semplice killall gpg-agent(da una shell non root) dovrebbe andare bene per terminare gpg-agent. Probabilmente osserverai un leggero ritardo quando usi GnuPG la prossima volta, come gpg-agentriavviato.
dirmngr --shutdownseguiti da dirmngr --daemonopzioni a volte aggiuntive (includo anche un homedir GPG specifico e la --use-torbandiera).
Nella mia esperienza ci sono alcuni scenari in cui gpg non riuscirà ad avviare un nuovo agente gpg (importando una nuova chiave?).
Uccidi il vecchio agente in questo modo:
GNUPGHOME="${GNUPGHOME:-$HOME/.gnupg}" gpgconf --kill gpg-agent
e quindi avviare quello nuovo:
gpg-agent --homedir "${GNUPGHOME:-$HOME/.gnupg}" --daemon
L'impostazione di --homedir esplicitamente all'avvio assicura che la tua lista ps sia chiara quando hai più di un homedir; ed è analogo a ciò che fa gpg quando lo avvia.
L'impostazione di GNUPGHOME al momento dell'arresto non è necessaria, ma potrebbe rendere più confortevole l'utente o il revisore del codice.