C
conner
Mitglied
Moin!
Ich habe einige Prozesse gestartet, die mit screen -d im Hintergrund laufen.
Ich würde jetzt gerne an diese Prozesse Kommandozeilenbefehle schicken.
Wenn ich die Prozesse mit screen -r PID wieder in den Vordergrund hole, kann ich da z.B. ein 'status' oder 'reload', etc. eintippen, das wird dann auch ausgeführt. Hinterher lege ich den Prozess dann wieder in den Hintergrund mit <strg> + <a> +<d> oder dem entsprechenden Kommandozeilenbefehl.
Ich möchte das ganze etwas automatisieren und per Cronjob laufen lassen. Mir ist nicht klar, ob man dem Prozess einen Kommandozeilen Befehl "unterjubeln" kann, wenn er im Hintergrund läuft.
Versucht habe ich screen -S -X exec <command>
Ich starte einen Prozess mit screen -A -m -d -S hlds ./start
kann ich mir mit screen -r auch anschauen - läuft.
Wenn ich von einer anderen Konsole jetzt z.B.
screen -S hlds -X exec status
abschicke, komt das Kommando auch da an, wo es hinsoll, aber in dem "gescreenten" Prozess wird nur ausgegeben:
Cannot exec 'status' : Datei oder Verzeichnis nicht gefunden
Der gleiche befehl in dem ablaufenden Programm eingegeben funktioniert und zeigt den aktuellen Status an...
Was nun - Befehle kommen an, werden aber nicht "verstanden". Eine Idee?
Gruß Bionic
Ich habe einige Prozesse gestartet, die mit screen -d im Hintergrund laufen.
Ich würde jetzt gerne an diese Prozesse Kommandozeilenbefehle schicken.
Wenn ich die Prozesse mit screen -r PID wieder in den Vordergrund hole, kann ich da z.B. ein 'status' oder 'reload', etc. eintippen, das wird dann auch ausgeführt. Hinterher lege ich den Prozess dann wieder in den Hintergrund mit <strg> + <a> +<d> oder dem entsprechenden Kommandozeilenbefehl.
Ich möchte das ganze etwas automatisieren und per Cronjob laufen lassen. Mir ist nicht klar, ob man dem Prozess einen Kommandozeilen Befehl "unterjubeln" kann, wenn er im Hintergrund läuft.
Versucht habe ich screen -S -X exec <command>
Ich starte einen Prozess mit screen -A -m -d -S hlds ./start
kann ich mir mit screen -r auch anschauen - läuft.
Wenn ich von einer anderen Konsole jetzt z.B.
screen -S hlds -X exec status
abschicke, komt das Kommando auch da an, wo es hinsoll, aber in dem "gescreenten" Prozess wird nur ausgegeben:
Cannot exec 'status' : Datei oder Verzeichnis nicht gefunden
Der gleiche befehl in dem ablaufenden Programm eingegeben funktioniert und zeigt den aktuellen Status an...
Was nun - Befehle kommen an, werden aber nicht "verstanden". Eine Idee?
Gruß Bionic