• This forum has a zero tolerance policy regarding spam. If you register here to publish advertising, your user account will be deleted without further questions.

Screen cannot exec (Screen is terminating)

DominicFredh

New Member
Hallo,

ich will meinen Ts3 Querybot (java) starten mit dem befehl: screen -s Support java -jar SupportSystem.jar
danach kommt die Fehlermeldung "Screen cannot exec "Support" Datei oder Verzeichnis konnte nicht gefunden werden.

ich bitte um hilfe.

mfg
Dominic
 
Vermutlich ist nicht das kleine "s", sondern das große "S" gemeint. Das würde dann auch Sinn machen. Anstatt Shell wäre dann nämlich die Sessionbezeichnung gemeint.

Probier halt mal
screen -S Support java -jar SupportSystem.jar
 
Vermutlich ist nicht das kleine "s", sondern das große "S" gemeint. Das würde dann auch Sinn machen. Anstatt Shell wäre dann nämlich die Sessionbezeichnung gemeint.

Probier halt mal
screen -S Support java -jar SupportSystem.jar

Genau der Shell ist die Sessionbezeichnung des Screens, mit dem Großen oder kleinen S geht es auch nicht, kannn es sein das ich im Code etwas falsch gemacht habe ?


Java:
public static void main(String[] args) {
        config.setHost("XX.XX.XX.XX.XX");
        config.setFloodRate(FloodRate.UNLIMITED);
        config.setDebugLevel(Level.ALL);
        query.connect();
        api.login("serveradmin", "XXXXXXXX");
        api.selectVirtualServerByPort(9987);
        api.setNickname("JND-ControlBot");
        System.out.println("Der Bot ist gestartet");
        Events.loadEvents();
        updateSupport();
        updateWeiterleitung();
        upadateTeamler();
        System.out.println("Bot hat fertig geladen!");
    }
 
Hast du denn mal probiert ohne Screen mal zu starten und zu prüfen, ob das Java-Programm denn überhaupt läuft?
 
Starten Deines Befehls im Detached Mode:

Code:
screen -S support -d -m /path/to/java -jar /path/to/SupportSystem.jar

Evtl. nochmal in ein Wrapper-Shell-Script packen, falls das Java-Programm erwartet, in einem bestimmten Verzeichnis gestartet zu werden. Also mit einem cd vor dem Start.
 
Last edited:
Öffne einfach einen screen und dann starte dein Java-Programm mal manuell im Screen.
Und das beachten, was greystone schrieb.
 
Ach ja: Es kann ja natürlich auch sein, dass Deine Umgebung mit Screen anders ist, als wenn Du es interaktiv startest.

D. h. andere / bzw. nicht gesetzte Umgebungsvariablen und speziell auch der Suchpfad(PATH). In dem erwähnten Wrapperskript kannst Du deswegen auch ans Ende nochmal einen "sleep 120" packen, so dass Du sehen kannst, ob sich Deine Java-Anwendung direkt wieder beendet und was für eine Fehlermeldung da vielleicht noch steht.
 
Welche Fehlermeldung erhältst du denn?
Hast du mal versucht die Session unter einem anderen Namen zu starten? Nur um auszuschließen dass es an dem "S" bei Support hängt.
 
Fehlermeldungen:
1: Cannot exec 'Support': Datei oder Verzeichnis nicht gefunden
2: [Screen is terminating]

aber ich kann halt auch nicht den screen "screen -s asda" starten
 
Du verwendest immer noch "-s" (kleines s). Das ist die falsche Option! Wenn Du den Sitzungsnamen spezifizieren möchtest: Dafür ist "-S" (grosses S) vorgesehen.
 
Last edited:
Du verwendest ein kleines s anstatt einem großen S!

screen --help
-s shell Shell to execute rather than $SHELL.

Wenn du screen -s benutzt wird eine Shell erwartet sowas wie /bin/bash also
screen -s /bin/bash -S sessionName java -jar Support.jar

Schließe alle offenen SSH Sessions.

Folgender Command ist normalerweise ausreichen:
screen -dmS sessionName java -jar Support.jar
 
Ah!

also 1. Fehler war das ich „screen -s“ gemacht habe, das heißt natürlich „screen -S“(dieser Fehler ist nur entstanden weil ich es manuell versucht habe und nicht über ein Startscript)
Und der andere Fehler war das ich das Programm falsch Exportiert habe deswegen ging es lokal aber nicht auf dem Sever.

Ich bedanke mich bei allen.
Vielen Dank

mfg
Dominic P.
 
Back
Top