Debian: Daemon-Programm wird sofort beendet, wenn es als Jenkins-Benutzer ausgeführt wird

497
Tehnix

Ich versuche, einen IRC-Bot als Daemon auszuführen daemon(auch mit dem daemonizeDienstprogramm versucht ),

Ich benutze den folgenden Befehl, um es auszuführen:

daemon --name=HsIRCb --chdir=/var/lib/jenkins/jobs/HsIRCb/workspace --command=/var/lib/jenkins/jobs/HsIRCb/workspace/dist/build/HsIRCb/HsIRCb --pidfile=/var/lib/jenkins/jobs/HsIRCb/workspace/HsIRCb.pid 

Wenn ich den Befehl als root ausführe, funktioniert er und der Bot verbindet sich und bleibt wie vorgesehen, aber wenn ich Jenkins frage, ob er ausgeführt werden soll, verbindet er sich und bricht sofort ab.

Ich habe auch versucht, mich als Jenkins-Benutzer anzumelden, und noch immer keine Würfel (wirft keine Fehler).

Es ist erwähnenswert, dass es bei normalen Benutzern funktioniert, es ist nur ein Problem mit dem von jenkins erstellten Benutzer.

Ich frage mich also, gibt es einige Berechtigungen, die der Jenkins-Benutzer nicht hat, oder sollte es in einer Gruppe oder etwas sein?

0

1 Antwort auf die Frage

0
Horn OK Please

Hast du screenstatt daemon/ versucht daemonize? Im Allgemeinen ist es eher zweckmäßig und tolerant gegenüber Dingen wie dem Manipulieren der Schale usw.

Versuchen

screen -mdS HsIRCb /path/to/command

Es gibt verschiedene Möglichkeiten, wie Sie das Verzeichnis wechseln, sich als anderer Benutzer anmelden, usw. Dies ist jedoch die Grundidee.