Hallo, ich habe ein paar Fragen, diesbezüglich schildere ich euch erst mal was ich vor habe. ich möchte mit einem Raspberry PI ein paar Sensordaten einlesen und ausgeben. Hierfür habe ich Peripherie über I2C angeschlossen. Dazu habe ich ein Programm in C++ geschrieben. Nachdem ich alles compiled habe, kann ich das Programm folglich mit ./meinprogramm starten. Da ich via SSH auf dem RPI bin, möchte ich mir die Daten in der Konsole anzeigen lassen. Momentan läuft da eine Endlosschleife die mir einfach die Daten in folgender Form anzeigt: ************* MEINE DATEN ************* ************* MEINE DATEN ************* ************* MEINE DATEN ************* Natürlich ist dies nicht an jedes Konsolenfester angepasst. Gibt es eine elegantere Methode dies zu lösen? Wenn ich z.B. "top" ausführe, also mir die tasks anzeigen lasse, dann passt sich die Anzeige dem Konsolenfenster an. Dies wäre für meinen Fall wünschenswert. Meine zweite Frage wäre noch: Wie kann ich ein Programm ausführen, sodass es nicht geschlossen wird wenn ich die SSH-Verbindung unterbreche? Ich hoffe mir kann hier jemand helfen. Grüße Thomas
Thomas P. schrieb: > Wenn ich z.B. "top" ausführe, also mir die tasks anzeigen lasse, dann > passt sich die Anzeige dem Konsolenfenster an. Dies wäre für meinen Fall > wünschenswert. Schau dir mal ncurses an. Damit kannst du sowas machen, und noch einiges mehr. Thomas P. schrieb: > Meine zweite Frage wäre noch: Wie kann ich ein Programm ausführen, > sodass es nicht geschlossen wird wenn ich die SSH-Verbindung > unterbreche? Führe es in nohup aus oder, wenn du dich später wieder damit verbinden können willst, mit screen.
Meine zweite Frage wäre noch: Wie kann ich ein Programm ausführen, sodass es nicht geschlossen wird wenn ich die SSH-Verbindung unterbreche? Gnu screen oder tmux sind hier die Lösung
Geht übrigens noch einfacher. Einfach das Programm ohne Endlosschleife schreiben, so dass es nur einmal die Werte ausgibt. Dann über das Programm "watch" aufrufen. Damit wird es dann alle n-Sekunden ausgeführt und die Ausgabe auf dem Bildschirm ausgegeben. Das kümmert sich sogar um die Bildschirmgröße usw. Der Vorteil wenn Du das nur einmal ausgibst ist übrigens, dass später mal jemand anderes Dein Programm für andere Zwecke weiterverwenden kann.
Wow! Das waren mal schnelle Antworten. Das klingt alles ziemlich gut. Ich werde mich mal damit beschäftigen. Danke!
Thomas P. schrieb: > Meine zweite Frage wäre noch: Wie kann ich ein Programm ausführen, > sodass es nicht geschlossen wird wenn ich die SSH-Verbindung > unterbreche? Entweder über systemd beim booten starten lassen, oder einfach unter tmux/screen starten.
Ohne auf Ncurses o.ä. zurückzugreifen könnte man auch Ctrl+L ausgeben. Mit recht hoher Wahrscheinlichkeit löscht das den Bildschirm ...
Habe es nun mit Cron und Screen sauber zum laufen bekommen. Vielen Dank nochmal! Grüße Thomas
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.