わかりました、これは奇妙なものです。基本的に、私がやろうとしているのは、wlan0ネットワークインターフェイスを再起動するコマンドの実行を遅らせるスリープタイマーを使用して無限ループを実行することです。奇妙に聞こえますが、何らかの理由で、ネットワークカードは約2時間後にネットへの接続を停止します。すべてを締めくくるには、UNI用のWebサーバーを実行しており、リモートでアクセスできる必要があります。接続がダウンした場合、私は運が悪いです。:|
私はこれを見つけました:Bash "if ping then else" My elseは機能していません。これは、ネットワークインターフェイスを管理するための非常に優れた方法であり、pingが停止したときにのみ再構成を行います。ただし、これは非常に複雑です。そして、私は他のいくつかの同様のコードを見つけましたが、それらは同様に曖昧でした。
正直なところ、私はCベースのプログラマーです。とにかく、この段階でのC#C ++とJava(Pythonは実際には言及する価値がありません)とにかく、既存のスニペットを変更することはもちろん、bashコードを読むだけでも楽しんでいます。:)
これがsudoコードでやりたいことです。
do {
sleep 3600s //works
sudo ifconfig wlan0 down //works in terminal but not script
} while(false);
これでほぼ完了です。スクリプトは起動時に実行されます。ユーザーが手動で、または起動アプリケーションシステムを介して。自動にしたいのですが、ifconfigコマンドをsudoとして実行する必要があります。つまり、スクリプトをsudoとして実行する必要があります。:)
そして、ヒントやポインタをいただければ幸いです。sudoのパスワードを入力するための古いエコー回避策を試しましたが、予想どおり、Ubuntu開発者はそれをブロックする方法を理解しました。
この Bashスクリプトは、ループ上のインターフェイスを起動および停止し、 この Making bashスクリプトは、接続を確認し、必要に応じて接続を変更します。私がそれを改善するのを手伝ってください? 2つ目は私が望むことを実行しますが、他のbashスクリプトを実行していますか???? :)
編集-1:わかりました....私はCrontabを使用しましたが、コマンドラインからsudo ifconfig wlan0を呼び出したときのように、何かが機能しているとは思いません。しかし、明日は実行したままにして、オンラインを維持できることを確認します。:)そうでなければ、私はここから何ができるのか考えていませんか?
ちなみに、この特定のデバイスでifconfig downが機能している方法は、コマンドが約20秒後にデバイスをオフラインにし、デバイスのスイッチをオンに戻すと、ネットワークが自動的に検出されて再接続されます。:) MACアドレスにバインドされたIPアドレスのどちらの礼儀は、私にとって問題を引き起こしません。:)