問題タブ [gnu-parallel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - Bash での並列反復 IP アドレス
大規模なプライベート /8 ネットワークを扱っており、ポート 443 でリッスンし、HTTP HEADER 応答に特定のバージョンが示されているすべての Web サーバーを列挙する必要があります。
最初に、接続スキャンを使用して実行し、出力ファイルを grep することを考えていましたが、実際には「開いている」ポートを「フィルター処理」する必要があると述べたnmap
多くの誤検知がスローされることが判明しました(接続スキャンを使用: )。nmap
nmap -sT -sV -Pn -n -oA foo 10.0.0.0/8 -p 443
だから今、私はbashで何かをスクリプト化することを考えていましたcurl
- 疑似コードは次のようになります:
私は bash にあまり詳しくないので、これを適切にスクリプト化する方法がわかりません。次のようにする必要があります。
- すべての IP をループする
- X個の脅威のみが並行して実行されることを確認してください
- 理想的には、出力をカットして、一致するホストの IP のみを 1 つのファイルに書き留めます。
- 理想的には、一致するサーバー バージョンのみが記録されるようにします。
提案や方向性の指摘は大歓迎です。
gnu-parallel - gnu parallel を使用してタイムアウト時にアクションをトリガーする
gnu parallel によって生成されたタスクがタイムアウトした場合に、アクション (管理者に電子メールを送信するなど) をトリガーする方法はありますか?
python - gnu parallel を使用して Python プログラム (anaconda パッケージ) をリモートで実行できませんでした
anaconda によってインストールされた python 環境は、gnu parallel を介してリモートで評価できないようです。
しかしアナコンダ版は
これが私の問題です。anaconda によってインストールされたパッケージに依存する python プログラム (myprog.py) を実行しています。単一のリモートマシンではうまく動作しますが、次のように gnu parallel を介して複数のマシンで実行すると、
エラーが発生します
bash - gnu parallel でループを実行し、変数を渡します
gnu parallel を介してディレクトリ内の各要素に対して bash 関数を実行する必要があります。この関数の evn 変数にアクセスする必要があります。どうすればそれを渡すことができますか。たとえば、シェルスクリプトの次のコード。変数 DIRS=/folder/log があります。「DIRS」を関数 readfile_ に渡すにはどうすればよいですか。前もって感謝します。
c++ - unordered_map の OpenMP/__gnu_parallel
コードのある時点で、unordered_map 内のすべての要素に対して操作を行う必要があります。このプロセスを高速化するために、openMP を使用したいのですが、単純なアプローチではうまくいきません。
これは、unordered_map の反復子がランダム アクセス反復子ではないためです。別の方法として、for_each で動作する __gnu_parallel ディレクティブを試しました。しかし、次のコード
(gcc 4.8.2) でコンパイル
並行して走らない。ベクトルで unordered_map を切り替え、同じ __gnu_parallel ディレクティブを使用すると、並列で実行されます。
順序付けられていないマップの場合、なぜ並列に実行されないのですか? 回避策はありますか?
以下に、私の問題を再現する簡単なコードをいくつか示します。
あなたの答えを楽しみにしています。
macos - 圧縮されたjsonファイルから一致する行を引き出すためにzgrepを高速化する
約 100GB に相当する約 100k の gzip 圧縮された JSON ファイルがあります。すべてのファイルは同じディレクトリにあります。これを mac os x でローカルに実行しています。
一致させるパターンがいくつかあり、さまざまな方法でコマンドを実行してみましたが、すべて完了までに数時間かかります。
私はこのコマンドから始めて、こことここから引っ張ってきました:
これは正常に機能しますが、完了するまでに約 4 時間かかります。
私はそれを1つ以上のパターンで並列化しようとしました:
これらは確かに複数の zgrep プロセスを生成しますが、ほとんどの場合、それらはアイドル状態であり、(単一パターンのソリューションでは) より速く実行されないようです。また、複数パターンのソリューションは、シャットダウンすることを決定する前に 8 時間実行されていました。それを下げます。
zgrep にこれほど時間がかかるとは思っていませんでした。私の希望は、このデータ セットから関連する行を zgrep し、それらを分析により適した構造、おそらくローカル データベースにプラグインすることでした。
zgrepを高速化する方法はありますか?
gnu-parallel - GNU Parallel: 宛先ファイルを配布しながら、1 つのソースからリモート ホストにファイルを配布します。
シナリオ: S3 バケットには 1000 個のファイルがあります。私は2台のマシンを持っています。これらの各マシンには、/dev/sda と /dev/sdb の 2 つのドライブがあります。制約: 1 つのドライブに 1000 個のファイルすべてを収めることはできません。また、1 台のマシンで 1000 個のファイルすべてを格納することはできません。望ましい結果: GNU 並列を使用して、2 台のマシンの 4 つのドライブに 1000 個のファイルを分散します。
私は次のようなことを試しました:
しかし、私は得る:
ここで、「R」はリモート ホスト IP です。S3 から 4 つのドライブにファイル (ファイルにすべての名前がある) を配布するにはどうすればよいですか? ありがとうございました。
amazon-ec2 - GNU Parallel: 接続を維持する
GNU Parallel を使用して、S3 から 2 つの EC2 ホスト (-S:,R) に 1000 個のファイルをダウンロードしています。ここで、「R」はリモート ピアの IP です。
--jobs 64 を使用すると、S3 から 64 個のファイル (かなり大きなファイル) をダウンロードするのに時間がかかります。
その結果、私は得る
これは、リモート ピアの sshd 構成が原因であり、これらの設定を変更できません (マシンは私のものではありません)。
ドキュメントを見ると、キープアライブのようなものは見つかりません。この問題を回避するにはどうすればよいですか? ありがとうございました。