[Gelöst] Keepass2 mit Starter beenden

Du hast Probleme mit Deinem eMail-Programm, Webbrowser oder Textprogramm? Dein Lieblingsprogramm streikt?
Antworten
geier22

[Gelöst] Keepass2 mit Starter beenden

Beitrag von geier22 » 25.12.2016 11:16:06

Da ich faul bin, hab ich mir für das Beenden von Debiankeepass2 einen Starter gemacht. Das klappt in Gnome, weil ich dort nicht Debiandocky benutze
mit

Code: Alles auswählen

#!/bin/bash
killall /usr/bin/cli
exit
Da ich docky sehr schön und praktisch finde (benutze es nur als Task-Leiste), würde ich es gerne behalten.

KeePass2 (aus dem Repo installiert) wird über /usr/bin/keepass2 so gestartet:

Code: Alles auswählen

#!/bin/sh
exec /usr/bin/cli /usr/lib/keepass2/KeePass.exe "$@"
Das oben angegebene Skipt killt mir aber nicht nur KeePass2 sondern auch docky.

/usr/bin/cli --->/etc/alternatives/cli --->/usr/bin/mono

Docky wird über /usr/bin/docky so gestartet:

Code: Alles auswählen

#!/bin/sh

SCRIPT_PATH=`dirname $0`
SCRIPT_PATH=`cd $SCRIPT_PATH; pwd`

if [ "x$SCRIPT_PATH" = "x/tmp/buildd/docky-2.2.1.1/Docky/bin/Debug" ] ||
   [ "x$SCRIPT_PATH" = "x/tmp/buildd/docky-2.2.1.1/Docky" ] ; then
    echo "*** Running uninstalled ***"
    DOCKY_EXE="/tmp/buildd/docky-2.2.1.1/Docky/bin/Debug/Docky.exe"
else
    DOCKY_EXE="/usr/lib/docky/Docky.exe"
fi

exec mono  "$DOCKY_EXE"  "$@"
Ich habe mir jetzt erst mal so beholfen, was ich aber als eher suboptimal empfinde:

Code: Alles auswählen

#!/bin/bash

killall /usr/bin/cli
sleep2
docky
exit
Was ich suche ist ein Skript, das in der Lage ist Keepass selektiv zu beenden, ohne Docky und eventuelle anderen Anwendungen zu killen.
Habt Ihr ein Idee ?

Edit:
Vielleicht noch zur Erklärung:
Ich minimiere keepass in die Taskleiste (tray wäre schöner, aber die Icons funktoionieren nicht) .
Keepass ist so eingestellt, dass es nur über das Menü Datei---> Beenden bendet werden kann.
Zuletzt geändert von geier22 am 25.12.2016 14:23:39, insgesamt 1-mal geändert.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Keepass2 mit Starter beenden

Beitrag von rendegast » 25.12.2016 13:59:00

Code: Alles auswählen

pgrep -f "cli .*/keepass2/KeePass"
(ginge auch mit einem 'ps'-Konstrukt)

keepass kann auch mehrere Instanzen haben (Tools>Options>Advanced>'Limit to single instance'), dann entsprechend berücksichtigen/erweitern.

Wenn /proc/ entsprechend gemountet wird ('-o hidepid=1', mittlerweile Standard?),
werden auch nur die keepass des Benutzers ausgegeben.
Zuletzt geändert von rendegast am 25.12.2016 14:07:50, insgesamt 1-mal geändert.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

geier22

Re: Keepass2 mit Starter beenden

Beitrag von geier22 » 25.12.2016 14:06:54

Code: Alles auswählen

hans@sparkyxfce:~$ pgrep -f "cli .*/keepass2/KeePass"
7237
Keepass neu gestartet:

Code: Alles auswählen

hans@sparkyxfce:~$ pgrep -f "cli .*/keepass2/KeePass"
8450
hans@sparkyxfce:~$ 
Klappt leider nicht :x :x
Das hatte ich auch schon mal probiert

Müsste dann die Abfrage in das Skript einbauen??
Hast du dafür einen Tipp für mich?

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Keepass2 mit Starter beenden

Beitrag von rendegast » 25.12.2016 14:08:56

Müsste dann die Abfrage in das Skript einbauen??
So war das gedacht.
Die Abfrage gibt Dir die PID, was Du damit machst ist Deine Sache.


vielleicht sowas

Code: Alles auswählen

TOKILL="$(pgrep -f "cli .*/keepass2/KeePass")"
[ "x$TOKILL" = "x" ] || kill $TOKILL
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

geier22

Re: Keepass2 mit Starter beenden

Beitrag von geier22 » 25.12.2016 14:13:12

Danke für die "Krücke" :THX: :hail:
Hab mal die manpage von pgrep bemüht:

Code: Alles auswählen

pkill -f "cli .*/keepass2/KeePass"
funktioniert

geier22

Re: [Gelöst] Keepass2 mit Starter beenden

Beitrag von geier22 » 10.01.2017 14:08:24

Noch ne Berichtigung:
das Mini-Skript

Code: Alles auswählen

#!/bin/bash

pkill -f "cli .*/keepass2/KeePass"

exit
funktioniert nur in Gnome und Cinnamon
in Xfce muste ich es abwandeln, weil der Prozess unter /usr/bin/mono /usr/lib/keepass2/KeePass.exe läuft

Code: Alles auswählen

#!/bin/bash

pkill -f "/keepass2/KeePass"

exit
hmmm irgendwie komisch :?

Antworten