私はC/C++を使ってLinuxでプログラミングしています。私は問題がある、親プロセスで子プロセスの数を取得するために関数や何かを見つけることを試みている。親プロセスの子プロセスの数C/C++、LINUX
ヘルプ私にしてください おかげ
私はC/C++を使ってLinuxでプログラミングしています。私は問題がある、親プロセスで子プロセスの数を取得するために関数や何かを見つけることを試みている。親プロセスの子プロセスの数C/C++、LINUX
ヘルプ私にしてください おかげ
私はPOSIXはこのための関数を定義していますかどうかわからないんだけど、あなたは常に、グローバル変数を自分でそれらを数えるだけで、親のすべてのフォークの後に1を追加し、設定することができますそれ
グローバル変数を使用することはできません。子コードはコード全体とグローバル変数が無用になります。 –
@VaheMusinyan:そういうわけで、彼は「子供のために0に設定する」と言いました。 –
まだ鐘が鳴りません。 0に設定すると、グローバル変数には影響しません。誰か私にいくつかのコード例を教えてもらえますか –
int globalVariable = 0;
main() {
pid_t pID = fork();
if (pID == 0) { //child
globalVariable = 0;
cout << "Child Process" << end;
}
else if (pID < 0) { //failed to fork
cerr << "Failed to fork" << endl;
exit(1);
// Throw exception
}
else { // parent
cout << "Parent Process:";
++globalVariable;
}
}
...子供に0にあなたはすべての子プロセスを一覧表示する--ppidオプションで「PS」コマンドを使用して、トイレ-l
PSを使用してそれらを数えることができます - ppid | wc -l
procfs
を使用してください:/proc/[mypid]/task
のディレクトリの数を数え、子プロセスの数が開始されています。
詳細については、proc(5)を参照してください。
親は、フォークされたときにそれを数えてもらえませんか? –