pid == 0 bloqueia seu script em loop infinito, como pid = 0 é uma equação, mas pid == 0 é um booleano e sempre FALSE.
Como posso configurar um ambiente de quarentena para que eu possa testar meus códigos ou programas que podem ser usados várias vezes? Eu estava tentando isso no Mac e se eu tenho uma bifurcação em um loop while que não está corretamente ligado, ele faz o terminal congelar e exibir temporariamente o recurso bifurcado. Nesse caso, eu não posso nem usar ps ou matar e tenho que desligar toda vez que eu encontrar.
Além disso, estou tentando matar meu processo filho usando _exit (3) - posso estar fazendo isso errado. Alguém pode me ajudar com isso?
Aqui está o código que eu estava tentando.
pid = fork();
if(pid > 0){
if(findCharInString(';',input)){
printf("Two commands %s\n",input );
sleep(1);
_exit(3);
}
else{
system(input);
}
}
if(pid == 0){
return 0;
}
pid == 0 bloqueia seu script em loop infinito, como pid = 0 é uma equação, mas pid == 0 é um booleano e sempre FALSE.
Tags c linux osx-yosemite