0

iptables のフロントエンドである Java プログラムを作成しようとしています。これを実現するために、Java の Process クラスを使用してコマンドを渡します。

私は一般的にそれについて正しく行っているかどうか疑問に思っています。たとえば、ターミナルで順番に実行することを意図した、iptables をデフォルト設定にリセットするコマンドの選択を次に示します。ここで Process クラスを正しく使用していますか?

Process proc1 = Runtime.getRuntime().exec("iptables -P INPUT ACCEPT");
proc1.waitFor();
Process proc2 = Runtime.getRuntime().exec("iptables -P FORWARD ACCEPT");
proc2.waitFor();
Process proc3 = Runtime.getRuntime().exec("iptables -P OUTPUT ACCEPT");
proc3.waitFor();
Process proc4 = Runtime.getRuntime().exec("iptables -t nat -P PREROUTING ACCEPT");
proc4.waitFor();

方向性をありがとう!

4

2 に答える 2

4

出力ストリームを読む必要があると思います。そうしないと、プロセスがブロックされ、何も表示されなくなります。

于 2010-11-07T02:06:03.063 に答える