Im Hintergrund kopieren

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Benutzeravatar
__blackjack__
User
Beiträge: 13064
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Sirius3: Naja, das ist eine Lösung auf Betriebssystemen wo es `os.fork()` gibt. Und falls innerhalb der 45 Sekunden das gleiche noch mal gestartet wird, dann lungert da immer noch dieser Prozess der die Zwischenablage leert herum, den man dann eigentlich canceln wollen würde.

@Mou10: Insbesondere dieses Problem ist nicht so leicht zu lösen wenn man kein durchgehend laufendes Programm hat, sondern für jede Aktion einen neuen Prozess startet.

Anmerkungen zu den Argumenten: Benutzername und Passwort bei ``add`` sollten keine Optionen sein, denn die sind in dem Fall ja gar nicht optional. Das wäre also eher ``./Passwortmanager.py add usernamebeispiel1 Passwortbeispiel1``.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Mou10
User
Beiträge: 9
Registriert: Dienstag 8. Juni 2021, 23:25

@Sirius3: Danke.... es passiert jedenfalls genau das, was ich mir vorgestellt habe. Könntest du mir noch erklären was da genau jetzt passiert? Was passiert denn durch das os.fork()? Im Prinzip hatte ich das gleiche gemacht. Aber immer wenn time.sleep benutzt wurde, ist der Terminal irgendwie eingefroren. Wieso passiert es jetzt nicht? Und alles passiert im Hintergrund?
@__blackjack__: Danke daran hatte ich überhaupt nicht gedacht..... ich werde die Argumente anpassen.
Mou10
User
Beiträge: 9
Registriert: Dienstag 8. Juni 2021, 23:25

@Sirius3: Und was genau bewirkt die If Abfrage am Ende?
if pyperclip.paste() == password:
pyperclip.copy(' ')
Wenn nach 10 Sekunden in der Zwischenablage das Passwort steht, dann soll das Leerzeichen kopiert werden oder?
Sirius3
User
Beiträge: 17737
Registriert: Sonntag 21. Oktober 2012, 17:20

@__blackjack__: natürlich schreibt man dafür einen Dämon, und schaut, ob der schon läuft, oder startet einen neuen und kommuniziert mit dem.
Das Plattformunabhängig hin zu bekommen ist dann die Fleißaufgabe.
__deets__
User
Beiträge: 14522
Registriert: Mittwoch 14. Oktober 2015, 14:29

Warum denn einen Dämon, wenn ein thread reichen würde?
Sirius3
User
Beiträge: 17737
Registriert: Sonntag 21. Oktober 2012, 17:20

@__deets__: weil sich das eigentliche Programm beenden muß, damit man wieder auf die Konsole kommt.
__deets__
User
Beiträge: 14522
Registriert: Mittwoch 14. Oktober 2015, 14:29

Er will eine Konsolenanwendung. So verstehe ich das zumindest. Die eben per Eingaben operiert, wie fdisk oder Ähnliches.
Benutzeravatar
__blackjack__
User
Beiträge: 13064
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@__deets__: Die Anforderung ist ``program.py add user password`` einzugeben und das Programm soll dann a) sofort enden um wieder mit dem Terminal arbeiten zu können *und* nach x Sekunden die Zwischenablage leeren. Es soll *nicht* x Sekunden laufen und das Terminal blockieren.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
__deets__
User
Beiträge: 14522
Registriert: Mittwoch 14. Oktober 2015, 14:29

Ah. Joa. Dann wird’s kompliziert.
Antworten