Systemによって作成されたプロセスを強制終了できますか?私が知る限り、Systemはfork()関数を使用して新しいプロセスを作成します。私は(システムを呼び出す前にそれをforkした)プロセスの実行時間を追跡し、実行時間制限を超えた場合にはそれを強制終了したい。私の主なプロセスによって作成された子供を殺すと、system()によって作成された子も殺されるのでしょうか?システムで作成されたC++の殺害プロセス&&実行時間の制限
これは実際のコードではありませんが、私が何を言っているのかを知ることができます。
int pid = fork();
if(pid == 0)
{
system("./veryLongProgram");
}
else
{
// calculate time elapsed and kill on long execution time
}
私はCPU時間制限を使用することもできますが、子プロセスがスリープ状態にならないようにすることもできます。もしそうなら、非常に長い間このような状態に留まるかもしれません。スリープ、休止、または意図的に呼び出されたプログラムによって呼び出されたものを混在させることは可能ですか?それは理想的だろう。または、私のプロセスが眠っているかどうかを確認することができます(そのような場合には、それが意図的に実行されたことを確認しなければなりません。