Ist es möglich, einen Befehl, anstatt ihn im Terminal auszuführen, „in“ der Menüleiste im Hintergrund auszuführen?
Um die Firewall in dem Netzwerk, in dem ich mich befinde, offen zu halten, curl
pinge ich alle 5 Minuten eine URL an.watch
im Terminal, aber das bedeutet, dass ich das Terminal die ganze Zeit geöffnet lassen muss. Ist es möglich, dies an die Menüleiste zu „senden“?
Antwort1
Nicht einfach. Um eineMenü- Ich nehme an, das ist es, was Sie meinen, wenn Sie es in der Menüleiste ausführen - Sie müssten schreibeneigener Code. Abhängig von Ihren Programmierkenntnissen und davon, wie viel Aufwand Sie betreiben möchten, kann das eine Lösung sein oder auch nicht.
Alternativ können Sie Ihr Terminalfenster in das Dock minimieren. Je nachdem, wie sichtbar die Ausgabe sein soll, können Sie den Befehl auch im Hintergrund ausführen mitBildschirmoder anders. Wenn Sie nach einer offensichtlichen Änderung suchen, können Sie ein Skript verwenden, das dies erkennt und etwas wieknurrbenachrichtigungum dir davon zu erzählen.
Antwort2
Nicht die Antwort auf deine Frage, aber wahrscheinlich auf dein Problem:
Verwenden Sie screen
. Auf diese Weise können Sie Terminal beenden und Ihre Prozesse laufen weiter.
Ctrl-A Ctrl-C
(Erstellen) erstellt neue „Bildschirme“ („Registerkarten“/„Fenster“), Ctrl-A Crtl-N
(Weiter) und Ctrl-A Ctrl-P
(Zurück) durchläuft sie. Ctrl-A Ctrl-D
(Abtrennen) verlässt den Bildschirm.
screen -r
um eine Verbindung zu einer vorherigen Bildschirmsitzung wiederherzustellen und die Ausgabe zu überprüfen.
Antwort3
Ich bin nicht sicher, warum Sie es in der Menüleiste brauchen?
Das folgende Skript wird in einer Schleife ausgeführt und trifft auf eine Curl-URL. Sie müssen es im Terminal ausführen, können das Terminal danach aber schließen.
#!/bin/bash
URL=http://some.site/
LOOPTIME=280 # just under 5 minutes
(while true;
do curl -I -s -o /dev/null $URL > /dev/null;
done) &
disown
Ich habe -I eingefügt, um nur HEAD zu verwenden, um sowohl Ihre als auch die Bandbreite des Servers zu sparen