我在Visual studio C++中做了一些多线程编程,使用了beginthreadex,endthreadex调用。
我创建了一个子线程thread1。子线程运行在一个永远不会退出的函数上,因为它有一个无限循环。现在,如果父线程因错误而终止或成功完成,子线程是否也会退出?我的疑问是--是否存在子线程即使在主程序退出后仍处于活动状态的情况?
对于linux,这种情况应该是怎样的呢?
我试图使用C中的fork()函数来处理Linux中的多个进程,这是我的代码:
p1 = fork();
if(p1 != 0){
p2 = fork();
}
printf("My PID is %d\n",getpid());
printf("My parent PID is %d\n",getppid());
现在,假设父进程ID为100,两个子进程(p1,p2) ID为101 & 102,init进程PID为0,我的预期输出为:
My PID is 100
My parent PID is 0
My PID is 101
My par
我使用在Linux上作为守护进程运行一个Java程序。
守护进程“随机”崩溃,只显示以下消息:
jsvc.exec error: Service did not exit cleanly
这是jsvc ()中代码的相关部分:
while (waitpid(pid, &status, 0) != pid) {
/* Waith for process */
}
/* The child must have exited cleanly */
if (WIFEXITED(status)) {
status = WEXITSTATUS(status);
// Cl