Automatizando CTRL + C (^ + C) como parte de um script?

0

Eu tenho este seguinte script que inicia um túnel SSH para a porta 80, instala o PHPmyadmin e, em seguida, exclui automaticamente após 2 horas ( sleep timeout), por motivos de segurança.

O que quero automatizar é sair do túnel. Agora que para sair do túnel, eu deveria executar CTRL + C após 2 horas, mas não quero fazer isso manualmente. Eu quero que seja automático também. O que eu poderia adicionar ao seguinte script para automatizar a saída do túnel?

bash /dev/fd/4 4<< 'EOF0'    

    #!/bin/bash -x

# 1. Preface:

    # Make sure you closed port 3306 for good. !!!!!!!!!

    # Start an SSH tunnel:

        ssh WORK-USER@SERVER-IP -L 80:localhost:80

# 2. Install commands:

    sudo apt-get install phpmyadmin -y
    sudo phpenmod mcrypt mbstring
cat << EOF1 >> /etc/apache2/apache2.conf

Include /etc/phpmyadmin/apache.conf
EOF1
    sudo service apache2 restart

# 3. Delayed-uninstall commands:

    sleep 2h
    sudo phpdismod mcrypt mbstring
    sudo apt-get purge phpmyadmin -y
    sudo service apache2 restart
    sed -i 's/Include \/etc\/phpmyadmin\/apache.conf/ /g' /etc/apache2/apache2.conf
    # Sed: First forward slash == substitute. Last major three == diff, global, address.

EOF0

Chegamos ao final do script. Vamos supor que 2 horas se passaram, mas ainda estou no modo de tunelamento e saí do computador; Como eu poderia garantir que eu mudei o modo de tunelamento automaticamente quando o script terminou?

    
por JohnDoea 24.12.2016 / 20:43

2 respostas

1

Para finalizar (desligar) o shell pai, você poderia simplesmente kill -SIGHUP $PPID .

    
por 24.12.2016 / 21:39
0

Eu recomendaria uma tarefa cron que eliminasse o processo, escrevesse a entrada do seu script com PID e o tempo + 2hs para executar Apenas meus 2 centavos!

    
por 24.12.2016 / 20:55