UNIX进程怎么杀不死?
binb 2000-07-12 07:31:00 有如下一段代码
while( j++<3 ) {
if ((d_pid=fork())==0) {
printf("\n Now is sub-process !");
signal(SIGUSR2,quit_music);
for (;;)
signal(SIGUSR1,play_music);
exit(0);
}
else {
if (d_pid) {
printf("\n d_pid=[%d]", d_pid);
kill(d_pid, SIGUSR1);
}
/*do other thing */
if (d_pid) kill(d_pid,SIGKILL);
.....
continue;
}
有几个问题请指教!
1。 为何SIGKILL好象杀不死进程d_pid,因为fork产生的进程老是在加1
比如上次显示的d_pid是694,continue后fork 产生的是695
2。 signal(SIGUSR1,play_music);为何要加for语句,否则很少执行
play_music.
3. 有60个包含上述代码的相同程序在运行,内存要求是不是很大?64M
够不?
谢谢!