스크립트의 일부로 CTRL+C(^+C)를 자동화하시겠습니까?

스크립트의 일부로 CTRL+C(^+C)를 자동화하시겠습니까?

sleep포트 80에 대한 SSH 터널을 시작하고 PHPmyadmin을 설치한 다음 보안상의 이유로 2시간(시간 초과) 후에 자동으로 제거하는 다음 스크립트가 있습니다 .

제가 자동화하고 싶은 것은 터널을 떠나는 것입니다. 이제 터널을 나가려면 2시간 후에 Ctrl+C를 눌러야 하는데 수동으로 하고 싶지는 않습니다. 저도 자동으로 됐으면 좋겠어요. 터널을 자동으로 종료하려면 다음 스크립트에 무엇을 추가할 수 있나요?

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

스크립트의 끝에 도달했습니다. 2시간이 지났지만 여전히 터널 모드에 있고 컴퓨터에서 떨어져 있다고 가정해 보겠습니다. 스크립트가 끝날 때 터널 모드가 자동으로 종료되도록 하려면 어떻게 해야 합니까?

답변1

상위 쉘을 종료(중지)하려면 간단히 kill -SIGHUP $PPID.

답변2

프로세스를 종료하고, PID를 사용하여 스크립트에서 항목을 작성하고, 단 2센트로 런타임 + 2시간을 수행하는 크론 작업을 권장합니다!

관련 정보