Antworten:
Mit dem aktuellen GPG (2.1+) können Sie zum Beenden Folgendes gpg-agent
verwenden gpgconf --kill
:
gpgconf --kill gpg-agent
Sie müssen es nicht manuell neu starten. GPG startet es neu, wenn es benötigt wird.
~/.gnupg
Verzeichnis jemals löschen , müssen Sie den gpg-Agenten manuell neu starten.
gpg-agent
ist kein systemweiter Dienst, sondern wird einmal pro Benutzer gestartet (wird also nicht von verwaltet service
). Obwohl manchmal von den Punktedateien des Benutzers oder zumindest in Debian und Derivaten aufgerufen, auch wenn X11 in gestartet (und gpg-agent
installiert) wird /etc/X11/Xsession.d/90gpg-agent
(um sicherzustellen, dass gpg-agent
alle GnuPG-Aufrufe eine gemeinsame verwenden, egal ob von einem Terminal oder einer GUI-Anwendung); es wird bei Bedarf auch automatisch von GnuPG gestartet. Von man gpg-agent
:
Der Agent wird bei Bedarf automatisch von gpg, gpgsm, gpgconf oder gpg-connect-agent gestartet. Es gibt also keinen Grund, es manuell zu starten. Wenn Sie den enthaltenen Secure Shell-Agenten verwenden möchten, können Sie den Agenten folgendermaßen starten:
gpg-connect-agent /bye
Normalerweise sollte eine einfache killall gpg-agent
(von einer Nicht-Root-Shell) zum Beenden ausreichend sein gpg-agent
. Wenn Sie GnuPG das nächste Mal verwenden, werden Sie wahrscheinlich eine leichte Verzögerung bemerken, da gpg-agent
es erneut gestartet wird.
dirmngr --shutdown
folgen dirmngr --daemon
und manchmal zusätzliche Optionen (ich füge auch ein bestimmtes GPG-Homedir und das --use-tor
Flag hinzu).
Meiner Erfahrung nach gibt es einige Szenarien, in denen gpg einen neuen gpg-Agenten nicht starten kann (neuen Schlüssel importieren?).
Töte den alten Agenten wie folgt:
GNUPGHOME="${GNUPGHOME:-$HOME/.gnupg}" gpgconf --kill gpg-agent
und dann das neue starten:
gpg-agent --homedir "${GNUPGHOME:-$HOME/.gnupg}" --daemon
Das explizite Setzen von --homedir beim Start stellt sicher, dass Ihre ps-Auflistung klar ist, wenn Sie mehr als ein homedir haben. und es ist analog zu dem, was gpg macht, wenn es es startet.
Das Einstellen von GNUPGHOME beim Stoppen ist nicht erforderlich, macht es jedoch möglicherweise für Sie oder den Code-Prüfer komfortabler.