Я пытаюсь приостановить процесс, но он не работает.
это часть кода. есть Ctrl + Z и Ctrl + C. Ctrl + C работает. Я не могу понять, почему с Z это не работает.
(фактический код):
//ctrl+Z
void sigstop(int p){
signal(SIGTSTP,&sigstop);
kill(my_pid,SIGSTOP);
fflush(stdout);
}
// Ctrl+C
void sigkill(int p){
signal(SIGINT,&sigkill);
kill(my_pid,SIGKILL);
fflush(stdout);
}
Код в основном методе:
...
my_pid = fork();
if (my_pid == 0) {
signal(SIGTSTP,&sigstop); //for Ctrl+Z
signal(SIGINT,&sigkill); //for Ctrl+C
checkCommand();
execvp(argv[0], argv);
exit(getpid());
}