問題タブ [fork]

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.

0 投票する
5 に答える
10018 参照

c - C でのこの複数のパイプ コードは理にかなっていますか?

私はこれについて数日かけて質問を作成しました。私の解決策は、受け入れられた回答で提案されたものです。しかし、私の友人は次の解決策を思いついた:

以下の回答の提案を反映するために、コードが数回更新されていることに注意してください (編集リビジョンを確認してください)。新しい回答をする場合は、問題の多い古いコードではなく、この新しいコードを念頭に置いてください。

これは、bash のようにパイプを介して一連のコマンドをシミュレートします。たとえば、次のようになります。cmd2 | ... | cmd_n. ご覧のとおり、コマンドは実際には引数から読み取られるため、「シミュレート」と言います。簡単なシェルプロンプトをコーディングする時間を割くために...

もちろん、エラー処理のように修正したり追加したりする問題がいくつかありますが、それはここでのポイントではありません。コードはある程度理解できたと思いますが、それでも、この全体がどのように機能するかについて多くの混乱を招きます。

私は何かが欠けているのでしょうか、それともこれは本当にうまくいき、問題を解決するためのきれいできれいな解決策ですか? そうでない場合、誰かがこのコードの重大な問題を指摘できますか?

0 投票する
2 に答える
3079 参照

perl - Perl CGIプログラムをフォークして、長時間実行されるタスクを回避するにはどうすればよいですか?

Perl / CGIアプリケーションから制御されるバルクメールスケジューラを書いていますが、CGIプログラムをフォークして別のタスクを実行するための「良い」方法を学びたいですか?やるべきでしょうか?または、最近提案されたように、 GearmanTheSchwartzなどの別のジョブキューエンジンを実行するオーバーヘッドに苦しむ方がよいでしょう。バニラCGI.pmよりもCGI::ApplicationのようなMVCに近いフレームワークを使用すると、答え/視点は変わりますか?最後は、CGI :: Application Pluginについて私が考えている可能性のあるプロジェクトからのものです。これにより、プロセスの「フォーク」を比較的簡単に呼び出すことができます。

0 投票する
4 に答える
5817 参照

c++ - Qt4アプリケーションで「fork()」を実行するためのポータブルな方法は?

たとえば、クラッシュしやすいコードを大量に実行する必要があるため、別のプロセスで実行する必要があります。通常、私は次のようにします。

明らかに、Qt4アプリケーションでフォークを使用することはできますが、Qt4が提供するものや、多数のアーキテクチャに頼ることなくポータブルな方法で同じ機能をアーカイブできるかどうか疑問に思っています#ifdefs

いずれにせよ、私はこのアプリをpthread実装のみにすることを目標としていますが、それでも可能な限り「ネイティブ」QtAPIに近づけたいと思っています。

私はテストしましQThreadたが、スレッドでのsegfaultingは明らかにアプリケーション全体をクラッシュさせ、QProcess完全に異なる実行可能ファイルを生成する場合にのみ使用することを目的としているようです。他の選択肢はありますか?

0 投票する
14 に答える
129720 参照

c++ - Windows が fork() に最も近いものは何ですか?

質問がすべてを物語っていると思います。

Windowsでフォークしたい。最も類似した操作とその使用方法を教えてください。

0 投票する
4 に答える
679 参照

c - 小さな C プログラムの結果

次の C プログラムの結果を伝える必要があります。

私の最初の期待は 3 です。fork 呼び出しが行われると、プロセスのメモリがコピーされ、両方のプログラムが実行されます。次に子プロセスが実行されますが、k は 2 のままです。したがって、最後に 1 + 2 = 3 を実行します。

しかし、このプログラムが実行されると、153 が出力されます。なぜそれが出力されるのか、最も近い手がかりがありません。

誰でも理由がわかりますか?

0 投票する
3 に答える
3067 参照

gcc - fork() と execvp(" gcc program.c ") のより良い代替手段はありますか?

次のコード セグメントは、初回実行時に時間がかかり (5 秒)、連続して実行すると時間が短くなります (250 ミリ秒)。gcc を実行するより良い方法はありますか。

0 投票する
2 に答える
6148 参照

c - フォークと既存のスレッド?

Linux システムでは、子プロセスは親プロセスと同じ方法で既存のスレッドを表示しますか?

子プロセスのアドレス空間全体がコピーされるため、スレッドの状態はどうなりますか。上記のセグメントのスレッド 1 が条件付きシグナルを待機している場合はどうなるでしょうか。子プロセスでも待ち状態ですか?

0 投票する
7 に答える
11317 参照

ruby - フォークされたプロセスからデータを返す

私が行った場合

x が何を返したか (true/fase/string など) を知るにはどうすればよいですか?

(ファイル/データベースへの書き込みはオプションではありません...)

0 投票する
2 に答える
419 参照

process - フォークとシグハンドラー

sighandler をセットアップしてから fork を実行するとします。子プロセスも sighandler を継承しますか?