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時間を実行するクローンをお勧めします!