Зачем моему руководителю создавать много одинаковых процессов?

290
Sayakiss

Config:

[program:aws-mysql] command=ssh -NCf -L 13306:host1:3306 user@host2 directory=/var/www/ECAME user=root autorestart=true exitcodes=0 

статус:

# systemctl status supervisord.service ● supervisord.service - Process Monitoring and Control Daemon Loaded: loaded (/usr/lib/systemd/system/supervisord.service; enabled; vendor preset: disabled) Active: active (running) since Sun 2018-04-15 15:13:22 CST; 24min ago Process: 437 ExecStart=/usr/bin/supervisord -c /etc/supervisord.conf (code=exited, status=0/SUCCESS) Main PID: 502 (supervisord) CGroup: /system.slice/supervisord.service ├─ 502 /usr/bin/python /usr/bin/supervisord -c /etc/supervisord.conf ├─1892 ssh -NCf -L 13306:host1:3306 user@host2 ├─1926 ssh -NCf -L 13306:host1:3306 user@host2 ├─1947 ssh -NCf -L 13306:host1:3306 user@host2 ├─1967 ssh -NCf -L 13306:host1:3306 user@host2 ├─1996 ssh -NCf -L 13306:host1:3306 user@host2 ├─2008 ssh -NCf -L 13306:host1:3306 user@host2 ├─2037 ssh -NCf -L 13306:host1:3306 user@host2 ├─2067 ssh -NCf -L 13306:host1:3306 user@host2 ├─2078 ssh -NCf -L 13306:host1:3306 user@host2 ├─2111 ssh -NCf -L 13306:host1:3306 user@host2 ├─2122 ssh -NCf -L 13306:host1:3306 user@host2 ├─2160 ssh -NCf -L 13306:host1:3306 user@host2 ├─2180 ssh -NCf -L 13306:host1:3306 user@host2 ├─2210 ssh -NCf -L 13306:host1:3306 user@host2 ├─2248 ssh -NCf -L 13306:host1:3306 user@host2 ├─2260 ssh -NCf -L 13306:host1:3306 user@host2 ... a lot of " ssh -NCf -L 13306:host2:3306 user@host2" 

Итак, зачем мне supervisordсоздавать много одинаковых процессов? Я думаю, что должен быть только один ssh -NCf -L 13306:host2:3306 user@host2.

1
У вас установлен флаг `-f`, который делает форк` ssh`. Это не то, что ожидает "супервизор". Попробуйте без этого флага. Daniel B 6 лет назад 1

1 ответ на вопрос

2
Daniel B

Супервизор ожидает, что подпроцессы останутся на переднем плане :

Программы, предназначенные для запуска под наблюдателем, не должны демонизировать себя. Вместо этого они должны бежать на переднем плане. Они не должны отсоединяться от терминала, с которого они запускаются.

Вы начали sshс -fфлага, что означает :

Просит ssh перейти в фоновый режим непосредственно перед выполнением команды.

Supervisor считает, что программа закрывается и запускает новый экземпляр после любого регулирования, которое она выполняет. Это будет продолжать делать это вечно.

Если вы уберете -fфлаг, он должен работать как положено.

Похожие вопросы