Supervisor-Prozess beim SSH-Exit gestorben

388
ericbdevil

Ich versuche, Supervisord auf einem RHEL-Server einzurichten, auf dem ich keinen Root-Zugriff habe. Wenn ich SSH auf den Server starte und Supervisord ausführte, scheint alles richtig zu funktionieren: Supervisord und die beiden Programme, die es startet, werden nicht angezeigt, wenn ich ps ausführe, sondern erscheinen, wenn ich ps -A ausführte. Ich kann die Ausgabe der Programme sehen, Supervisorctl meldet, dass sie ausgeführt werden usw. Wenn ich jedoch die SSH-Sitzung beendet habe, werden Supervisord und die beiden Client-Programme beendet und erscheinen nicht mehr unter ps -A, usw. Es gibt kein Ereignis in der Supervisord-Protokolldatei, wenn die SSH-Sitzung beendet wird und Supervisord mit nodaemon = false in der Konfigurationsdatei ausgeführt wird (siehe unten). Gibt es etwas, das ich falsch mache oder falsch in der Konfigurationsdatei eingerichtet habe? Lassen Sie mich wissen, ob weitere Details erforderlich sind.

Befehl, den ich zum Starten von Supervisord verwende:

/home/foo/.local/bin/supervisord 

Ausgabe von ps -f:

UID PID PPID C STIME TTY TIME CMD foo 1 0 0 09:11 ? 00:00:00 -jailshell foo 53 1 0 09:11 ? 00:00:00 ps -f  [unix_http_server] file=/tmp/supervisor.sock ; the path to the socket file  [supervisord] logfile=/home/foo/logs/supervisord.log ; main log file; default  $CWD/supervisord.log logfile_maxbytes=50MB ; max main logfile bytes b4 rotation; default 50MB logfile_backups=10 ; # of main logfile backups; 0 means none, default 10 loglevel=trace ; log level; default info; others: debug,warn,trace pidfile=/home/foo/.local/supervisord.pid ; supervisord pidfile; default supervisord.pid nodaemon=false ; start in foreground if true; default false minfds=50 ; min. avail startup file descriptors; default 1024 minprocs=25 ; min. avail process descriptors;default 200 directory=/home/foo/foo_bar/ ; default is not to cd during start  ; The rpcinterface:supervisor section must remain in the config file for ; RPC (supervisorctl/web interface) to work. Additional interfaces may be ; added by defining them in separate [rpcinterface:x] sections.  [rpcinterface:supervisor] supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface  ; The supervisorctl section configures how supervisorctl will connect to ; supervisord. configure it match the settings in either the unix_http_server ; or inet_http_server section.  [supervisorctl] serverurl=unix:///tmp/supervisor.sock ; use a unix:// URL for a unix socket  ; The sample program section below shows all possible program subsection values. ; Create one or more 'real' program: sections to be able to control them under ; supervisor.  [program:foo] command=/home/foo/foo_bar/foo.py ; the program (relative uses PATH, can take args)  [program:bar] command=/home/foo/foo_bar/bar.py ; the program (relative uses PATH, can take args) 
0
Sie loggen sich interaktiv (über ssh) in dieses System ein und starten Supervisord von der Kommandozeile aus. Welchen spezifischen Befehl führen Sie aus, um Supervisord zu starten? Könnten Sie Ihre Frage [bearbeiten], um die Ausgabe von "ps -f" des Supervisord-Prozesses anzuzeigen? Kenster vor 6 Jahren 0
@Kenster, ich habe den Befehl zum Starten und die Ausgabe von ps -f zu meiner Frage hinzugefügt. Ich logge mich interaktiv über SSH in dieses System ein und starte es von der Kommandozeile aus. ericbdevil vor 6 Jahren 0

1 Antwort auf die Frage

0
Adarsh Srivastava

Sie können byobuif auf einem Debian-ähnlichen System (Ubuntu) verwenden. Dadurch bleibt Ihre Sitzung erhalten, auch wenn Sie Ihre SSHVerbindung trennen .

Bitte missbrauchen Sie `\` code \ `` nicht zum Formatieren. Arjan vor 6 Jahren 0