0

会社の VPN を開く起動時 (Kubuntu 11.04) に実行したい bash スクリプトがあります。KDE の VPN クライアントはこの VPN を気に入らないので、手動で行う必要があります。ppp0 接続を開き、ip ルートを追加します。ここに問題があります: pppd call コマンドを実行する必要があり、約 5 秒後に ip route を追加します。コマンドは問題なく使用でき、これら 2 つのコマンドを 2 つの異なるシェル セッションで別々に実行するとうまく動作します。私の問題は、pppd call コマンドが ppp0 プロセスを開始することです。そのプロセスを終了したくない限り、起動時に同じスクリプトで ip route コマンドを実行できません。

できること:

(1)これら2つのコマンドをどうにかしてスレッド化しますか?

(2) 3 つのスクリプトを記述します。コントローラ スクリプト、pppd スクリプト、および ip route スクリプトは?

(3) ずる賢くせずにこれを行いますか?

4

1 に答える 1

1

のように pppd プロセスをバックグラウンドに入れることはできませんか

function is_pppd_working {
    # do some test to check pppd is doing what it's meant to
}

function setup_route {
    # do your ip route stuff
}

pppd > somelogfile.log 2>&1 &
sleep 5
PPD_IS_WORKING=$(is_pppd_working)
if [ ${PPD_IS_WORKING} ]
then
    setup_route
else
    # uh oh!!
fi
于 2011-06-29T19:51:01.590 に答える