Parece haver alguma diferença na manipulação padrão do SIGHUP entre o Amazon Linux e o Ubuntu 14.04 no EC2. Então, basicamente adicionando nohup resolve o problema:
ssh -t $PROXY_HOST sudo 'nohup /etc/init.d/tinyproxy start'
Eu tenho um script que inicia e interrompe o tinyproxy na minha instância do EC2. O núcleo do script (além de algumas redes do meu lado) são dois comandos:
ssh -t $PROXY_HOST sudo '/etc/init.d/tinyproxy start'
ssh -t $PROXY_HOST sudo '/etc/init.d/tinyproxy stop'
em que $ PROXY_HOST está configurado em ~ / .ssh / confing
host MyHost
HostName <real ip here>
User ubuntu
IdentityFile <path is here>
ServerAliveInterval 60
ServerAliveCountMax 4
Tudo estava bem no Amazon Linux, no entanto, após a migração para o Ubuntu, há um problema agora:
ambos os scripts para iniciar / parar o tinyproxy funcionam localmente na máquina EC2
o script de parada funciona remotamente como no Amazon Linux - não há processos tinyproxy em execução após a execução
script de início NÃO funciona remotamente
O EC2 AMI é baseado no ubuntu-trusty-14.04-amd64-server
Alguma dica sobre onde eu começo a cavar?
PS. Sim, eu mudei o usuário padrão do usuário ec2 para o ubuntu em ~ / .ssh / config após a migração
Edit: Adicionadas informações conforme solicitado por muru
A saída de execuções locais e remotas é idêntica
+ PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+ CONFIG=/etc/tinyproxy.conf
+ DAEMON=/usr/sbin/tinyproxy
+ DESC=tinyproxy
+ FLAGS=
+ NAME=tinyproxy
+ [ -r /etc/default/tinyproxy ]
+ test -f /usr/sbin/tinyproxy
+ set -e
+ [ start != stop ]
+ [ -f /etc/tinyproxy.conf ]
+ awk {print }
+ grep -i ^User[[:space:]] /etc/tinyproxy.conf
+ USER=nobody
+ awk {print }
+ grep -i ^Group[[:space:]] /etc/tinyproxy.conf
+ GROUP=nogroup
+ sed -e s/"//g
+ awk {print }
+ grep -i ^PidFile[[:space:]] /etc/tinyproxy.conf
+ PIDFILE=/var/run/tinyproxy/tinyproxy.pid
+ dirname /var/run/tinyproxy/tinyproxy.pid
+ PIDDIR=/var/run/tinyproxy
+ [ -n /var/run/tinyproxy -a /var/run/tinyproxy != /var/run ]
+ [ ! -d /var/run/tinyproxy ]
+ [ nobody ]
+ chown nobody /var/run/tinyproxy
+ [ nogroup ]
+ chgrp nogroup /var/run/tinyproxy
+ echo -n Starting tinyproxy:⋅
Starting tinyproxy: + start-stop-daemon --start --quiet -o --exec /usr/sbin/tinyproxy --
+ echo tinyproxy.
tinyproxy.
+ exit 0
Parece haver alguma diferença na manipulação padrão do SIGHUP entre o Amazon Linux e o Ubuntu 14.04 no EC2. Então, basicamente adicionando nohup resolve o problema:
ssh -t $PROXY_HOST sudo 'nohup /etc/init.d/tinyproxy start'