ワイヤレス802.11sメッシュ接続上の2台のコンピュータ間の帯域幅、パケット損失、遅延、およびジッタを測定しようとしています。
私は次のことができる(私の最初の)bashスクリプトを作ろうとしています:
- 別のコンピュータにSSH接続し、サービスからデータの記録を開始します(
ptpd
、tcpdump
、iperf
) - 自分のコンピュータで同じプロセスを起動し、データの記録を開始します。
- 一度
iperf
自分のコンピュータでの送信が完了したら、リモートコンピュータにSSHで接続してサービスを終了させる必要があります。
この考え方は、これらの3つのステップがforループで実行されるため、繰り返しごとにiperfによって送信されるパッケージサイズが増加し、結果のデータがログに記録されます。
私はによってリモートPC上でプロセスを開始する方法を知っています ssh host@adress process
。
しかし、ログアウトするとプロセスが終了するため、SSHおよびログアウトを使用して複数のプロセスを開始する方法についてはわかりません。私は見た screen
そして nohup
しかし、スクリプト内でそれらを使用する方法がわかりません。
前もって感謝します!
編集:
これまでのすべての助けをありがとう。
私は今はうまくいきませんでした、人々が指摘したようにそれはかなり単純でした。
だから今私は得た: ssh host@adress nohup ./script.sh > /dev/null 2>&1 &
私のメインPCのスクリプトで。
これで、リモートPCでスクリプトが正常に起動し、SSHからログアウトします。次の問題は、リモートPC上でsudoとしてスクリプトを実行する方法です。これはtcpdumpで必要になるためです。
やってみる ssh host@adress **sudo** nohup ./script.sh > /dev/null 2>&1 &
動作しません。
何か案は?
編集2:
誰かが同じ問題に立ち往生している場合、私はこれを解決する方法のガイドを見つけました:
http://www.pantz.org/software/ssh/using_ssh_and_sudo_instead_of_root_for_remote_commands.html