問題タブ [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.
perl - 新しいプロセスをフォークしてPerlでそのPIDを取り戻すにはどうすればよいですか?
私の問題は、fork()
Perlコード内での使用に関連しています。新しいプロセスをフォークしてそのPIDをキャプチャし、呼び出し先プログラムに戻したいと思います。これを可能にするPerlのコマンドはありますか?
c - 実行中の関数は親関数を一時停止します
ちょっと練習して、質問がありました。ウェーブをテキストで出力するプログラム(以下のソース)があります。波が端末の外側に当たると、noise()という関数でノイズを発生させます。ただし、その関数が呼び出されると、ノイズの発生が完了するまでアニメーションが一時停止し、その後、アニメーションが再開されます。
2つの機能が同時に起こる方法を誰かが知っているのだろうかと思いました。私はそれをfork()するべきですか、それとももっと良い方法がありますか?
私が参照しているコードは、lattus関数とnoise関数です。
以下は私のプログラムの完全な情報源です。
bash - フォーク / マルチスレッド プロセス | バッシュ
コードの一部をより効率的にしたいと考えています。複数のプロセスにフォークして、一度だけではなく一度に 50/100 回実行することを考えています。
例(疑似):
これを for ループで複数回実行したいと思います。これはフォークで実行できることを知っています。それはこのように見えるでしょうか?
それとも、これについて間違った方法で考えていますか?
ありがとう!
java - プログラムで実行したときに ant.bat がエラーステータスを返さないのはなぜですか?
コマンドラインから ant を実行して失敗すると、ゼロ以外の終了ステータスが返されます (UNIX では $?、Windows では %ERRORLEVEL%)。しかし、(ProcessBuilder を介して) ant を実行している Java プログラムがあり、ant が失敗すると、Windows では終了ステータスを取得できません。
この単純な ant テスト ファイルでこれを確認しました。
UNIX では、ant を実行すると失敗メッセージが出力され、$? がエコーされます。Windows では、ant または ant.bat を実行すると失敗メッセージが出力され、後で %ERRORLEVEL% をエコーすると 1 が出力されます。
ここで、以下のテスト プログラムを使用します。 UNIX では、java Run ant は失敗メッセージを出力し、$? Windows では、java Run ant は実行する ant という名前のプログラムを見つけることができませんが、java Run ant.bat は失敗メッセージを出力しますが、後で %ERRORLEVEL% をエコーすると0が出力されます。何を与える?
ant の実行後に終了ステータスを確認できることに依存しています。とにかく、私たちはそうでした。プログラム的にこれに頼ることができないのはなぜですか?
テストプログラム:
c - Cで親から任意の数の子をフォークしますか?
次のようなものを使用して、複数の子をフォークする方法の例を見つけました。
しかし、何人の子供が必要なのかわからない場合、どうすればよいでしょうか?
たとえば、コマンドのリンクされたリストがあり、それらのそれぞれに対してフォークして実行したい場合...したがって、それがどの子であるかを知る必要があると思います...
php - PHPmysqliの再接続の問題
PHPでmysqliクラスを使用するのに問題があり、どこにも答えを見つけることができませんでした。
私のスクリプトでは、クラスはその関数全体で使用するmysqli接続を作成します。その後、このスクリプトは分岐します。接続は子によっても使用されますが、子が死んだときに親で接続が閉じられる(MYSQLサーバーがなくなった)という問題が発生しています。
mysqliに切り替える前に(mysqlを使用していた)、親プロセスでクエリを実行する前に、mysql_pingを呼び出してdb接続が存在することを確認しました。Mysqliにも同様のping機能がありますが、接続が失われた場合、実際には再接続されません。mysqli.reconnect = ONグローバル設定をうまく使用してみました(php.iniとini_setを使用)。
php mysql_connect関数を使用すると、既存の接続を取得できるため、mysqliの代わりにmysqlを使用している場合は、プロセスが分岐した直後に子で接続を再利用できます。しかし、mysqliにはそのような機能がないようです...
私ができた唯一のことは、mysqli-> ping()を呼び出すことでした。それがfalseを返した場合は、親のデータベースに再接続します。これはひどく非効率的であり、mysqlに戻す必要があるmysqliで正しく行う方法(および手動で再接続する必要がない)を理解したいと思います。
助言がありますか?
fork - ウイルス対策プログラムがこの悪意のある動作を検出しないのはなぜですか?
私はこの C プログラムを作成し、自分の Windows システムで実行しました。システムがハングアップし、タスク マネージャーすら開かなくなりました。最後に、再起動する必要がありました。これは明らかに悪意のあるプログラムですが、私のアンチウイルスはこれを検出しません。なんで?
gcc - Windowsでgccを使用したフォーク
gcc(cygwin)を使用しているWindowsのプログラムでフォークを使用しています。私のシステムでは正常に動作します。しかし、cygwinを持たない他のシステムで実行したいと思います。どうやってやるの?
c - C-以前にtmpfile()によって作成された一時ファイルを見つける方法は?
私は基本的にRVBファイルの各レイヤーでファジー化を実行するマルチプロセスプログラムに取り組んでいます。(1プロセス-> 1レイヤー)。各子プロセスは、次の関数を使用して一時ファイルを配信していますtmpfile()
。各子プロセスがジョブを終了した後、メインプロセスは、作成された各一時ファイルを読み取り、データをアセンブルする必要があります。問題は、子のプロセスメモリにアクセスできないため、メインプロセス内の各一時ファイルを読み取る方法がわからないため、作成された一時ファイルへの一時ポインタが何であるかがわからないことです。
何か案が?
必要に応じて、遠慮なく説明を求めてください。
c - なぜ私の最初の x フォークだけがうまくいくのか (gcc)
これは私の学習ガイドからです。私の観点からすると、これはほぼ完了していますが、思い通りに動作させることはできません。演習は次のとおりです。
文字列をX回フォークし、文字列が終了するまで子ごとに1文字を出力します。
これはコードであり、コンパイルされます:
これは私が得た出力です
すべてのエコーは、最初の 5 つのエコーのようになるはずです。
何か案が?