우분투 10에 프로세스를 만들고 프로세스 ID를 표시하고 프로세스를 종료하는 C 프로그램을 작성하고 있습니다. 사용자가 scanf를 통해 입력 한 프로세스 ID를 kill하려면 kill() 명령을 사용하고 있습니다. 그러나 scanf가 전혀 작동하지 않습니다. % d 앞에 "space"를 추가하려고했지만 아무 일도 일어나지 않았습니다. 누구든지 도울 수 있다면 감사하게 생각하십시오! 다음C 프로그래밍 - 우분투에서 작동하지 않는 Scanf
내 코드입니다 :
include <stdio.h>
include <unistd.h>
include <signal.h>
include <sys/types.h>
include <stdlib.h>
main()
{
int x;
int pid[10]; // to store fork return value
int p[10]; // to store process ID
// Create 5 new processes and store its process ID
for (x=1;x<=5;x++)
{
if ((pid[x]=fork())==0)
{
p[x]=getpid();
printf("\n I am process: %d, my process ID: %d\n",x,p[x]); // Display process number and PID
}
else
exit(0);
}
{
int y;
y=p[x];
printf("Please enter a process ID to kill: ");
scanf(" %d", &y); //waiting for user input
printf("\nThe process %d is killed.\n",y);
kill(y,9); //Values 9 represents SIGKILL
}
}
왜 당신이 그것을 테스트 할 수있는 간단하고 합리적인 프로그램을 작성하지 않습니다
같은 것을 당신이 가장 가능성이하고 싶은입니까? – HuStmpHrrr
제목은 자기 자신의 코드를 제외하고 어디에서나 오류를 찾는 것을 제안합니다. –