問題タブ [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.
php - 親プロセスが子の実行を終了するのを待たないのはなぜですか?
私は最も基本的なスクリプトを持っています:
これを実行すると、出力は常に「子が終了しました」になります。私はこれをlighttpdサーバーで実行しています。
svn - Google Code (またはその他の SVN ホスティング) でフォークする
github、bitbucketなどのサイトは、プロジェクトの「フォーク」の優れた/便利な機能を提供します。これにより、プロジェクトを簡単にフォークして、必要な機能に取り組むことができます (プロジェクターの所有者に提出してコミット アクセスを取得する前に)。
このワークフローは、 SVNプロジェクト (特に、まだ SVN を使用しているGoogle Codeでホストされているさまざまなプロジェクト)でどのように達成するのが最適ですか?
明確化: svn diff については知っていますが、作成者 (SVN リポジトリの所有者) に変更を送信する前に、いくつかの断続的なコミットを実行できるソリューションが必要です。この「フォーク」をボタンをクリックするのと同じくらい簡単にするためのボーナスポイント (github/bitbucket に、SVN リポジトリを自動的に複製するこの機能があるかどうか疑問に思います)。
c - 親が実行を再開する前にすべての子プロセスを待機する UNIX
私のプログラムでは、有限の while ループで子プロセスを (並行して) fork し、それぞれに対して exec を実行しています。すべての子が終了した後にのみ、親プロセスが実行を再開するようにします (この while loop の後のポイント)。どうすればいいですか?
私はいくつかのアプローチを試しました。1 つのアプローチでは、while ループの後に親を一時停止し、waitpid がエラー ECHILD (残りの子がありません) を返したときにのみ SIGCHLD ハンドラーから条件を送信しましたが、このアプローチで直面している問題は、親がすべてのプロセスのフォークを完了する前であっても、retStat は次のようになります。 -1
php - PHPで、ビデオ変換プロセスをバックグラウンドに「フォーク」する方法は?
ビデオファイルをディレクトリにアップロードするバッチフラッシュアップロードスクリプトがあります。単純。アップロードが完了すると、そのファイルの mysql レコードが作成され、キュー内の次のファイルに移動します。
その直前に、アップロードされた avi avi ファイルを iPod 互換の mp4 ファイルに変換するバックグラウンド プロセスを呼び出し、プレビュー サムを生成する必要があります。ご想像のとおり、少し時間がかかります...変換コードをファイルアップローダーに入れるだけです...しかし、すべてのファイルで10〜20分間ハングアップします。あなたは管理者専用の機能です)。
そのため、ファイルを変換している間に、バックグラウンドで変換プロセスをフォークし、次のアップロードに移動する必要があります。
このようなものでうまくいくでしょうか、それとも実際に php fork 関数を使用する必要がありますか?
fork - waitpidのWNOHANGオプションをサポートしていないシステムはどれですか?
プロセスで非ブロッキング待機を実行するために、waitpidにPOSIXWNOHANGオプションを渡すことに依存する子プロセスを管理するためのライブラリがあります。すべてのシステムがこのオプションをサポートしているわけではないと言われていますが、私がそれらのシステムのいずれかに取り組んでからしばらく経ちました。このオプションをサポートしていないシステムはどれですか?それらのシステムの回避策を見つけようとするか、それらのシステムをターゲットにしないことを決定できるように、知りたいのですが。
perl - Perlは並列処理でグローバル変数をどのように共有できますか?
並列フォークマネージャーモジュールを使用して、並列プロセスでグローバル変数にアクセスしようとしました。プログラムの終わり、グローバル変数はまだ同じままです..これを達成する方法は?それが可能かどうか?
linux - system()の後に子PIDを取得します
私が理解している限り、system()
呼び出しは内部的fork()
に使用exec()
されますが、処理を容易にするためにそれらをカプセル化します。
system()
呼び出しで作成された子プロセスからPIDを取得することは可能ですか?
目的:特定のタイムアウト後に子プロセスをSIGINTできるようにしたい。とを使用してsystem()
関数を再構築できます。しかし、私が必要とするのは子供のPIDだけであり、おそらく?fork()
exec()
system()
ruby-on-rails - Railsプロジェクトの宝石をフォークする
私はこの状況に2回気づきました。システムにgemをインストールし、Railsプロジェクトから使用を開始します。最終的に、私はその宝石にいくつかの変更を加える必要があります。どうすればいいですか?
理想的には、そのgemのソースコード(〜/ third_party / gemsなど)をチェックして、それに取り組み、Railsプロジェクトで代わりに使用してもらいたいと思います。それは可能ですか?
すべての場合において、宝石はgithubにあったので、おそらくgithubでそれを作成し、クローンを作成し、チャンスを作って、自分のブランチを維持します。次に、サーバーにgem installを使用して、そのブランチを直接インストールすると思います。それは理にかなっていますか?
c++ - fork()後のexecvp(...)エラーを処理する方法は?
私は通常のことをします:
- フォーク()
- 子のexecvp(cmd、)
cmdが見つからないためにexecvpが失敗した場合、親プロセスでこのエラーにどのように気付くことができますか?
linux - プロセスの子を待つ方法は?
通常の fork + exec の組み合わせを実行します。
子がクラッシュするか、読み取りの待機を開始するまで待つことは可能ですか (...)?