Anwendung nach benutzerdefinierter Zeit automatisch schließen?

7

Gibt es eine Möglichkeit, eine bestimmte Anwendung nach der benutzerdefinierten Zeit automatisch zu schließen?

Update: dh den Audioplayer nach einer bestimmten Zeit stoppen.

NES
quelle
2
Könnten Sie ein Anwendungsbeispiel geben?
Marco Ceppi
sicher, die Frage aktualisiert.
NES

Antworten:

9

Installieren Sie gnome-schedulevom Ubuntu Software Center und laden Sie das Programm von Applications > System Tools. Verwenden Sie diese Option, um einen Eintrag für die Zeit hinzuzufügen, für die das Programm geschlossen werden soll:

Alt-Text

Dadurch werden alle Instanzen von Firefox zu einem bestimmten Datum / zu einer bestimmten Uhrzeit beendet. Es können auch wiederkehrende Ereignisse auftreten, die bestimmte Programme zu bestimmten Zeiten beenden, z. B. um Kinder zu ermutigen, nicht im Internet zu surfen oder bestimmte Spiele zu beenden.

Es ist möglich, solche Dinge auch über die Befehlszeile zu tun, aber Sie müssen wissen, wie crontab -lman Cron-Zeilen verwendet und schreibt.

Martin Owens -doctormo-
quelle
5
Eine ähnliche Technik würde nur die Kommandozeile betreffen. ZB sleep 3600 && killall -9 firefox-binwürde beispielsweise 3600 Sekunden (1 Stunde) warten und dann alle Instanzen von Firefox beenden.
Frabjous
2

Vielleicht können Sie die Anwendung aliasen oder ihren Start ändern, damit sie beim Start einen 'at'-Befehl auslöst. 'at' kann verwendet werden, um einmalige Jobs zu planen, die später auftreten sollen. 'man at' sollte dir die Infos geben.

Das nächste Bit wäre also, den Prozess zu starten (ohne darauf zu warten, dass er stoppt), die ID zu holen und diese dann an at weiterzugeben. $! sollte das halten, und kaufmännisches Und wird es nicht warten lassen. $ *, um die ursprünglichen Parameter zu durchlaufen, hilft ebenfalls.

Versuchen Sie etwas wie:

#!/bin/bash
<your process> $* & export PID=$!
echo kill $PID | at now +1 hour
Danny Staple
quelle