안철수 닉값ㅋㅋㅋㅋㅋㅋㅋ
일단 안철수씨는 정치는 적당히 하고
코딩이나 하러 갑시다
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <signal.h>
#include <sys/types.h>
// 종료 핸들러
void terminate_process(int signum) {
printf("현재 프로세스를 종료합니다.\n");
exit(0);
}
int main() {
pid_t pid;
int wait_time = 5; // 종료 전 대기 시간 (초 단위)
char *new_program = "/bin/ls"; // 새로운 프로세스에서 실행할 프로그램
char *args[] = { "ls", "-l", NULL }; // 프로그램 인자
// SIGALRM 시그널 핸들러 등록
signal(SIGALRM, terminate_process);
printf("프로그램이 %d초 후 종료됩니다...\n", wait_time);
alarm(wait_time); // 지정된 시간 후 SIGALRM 발생
// 새로운 프로세스를 생성
pid = fork();
if (pid == -1) {
perror("fork 실패");
return 1;
}
if (pid == 0) {
// 자식 프로세스에서 실행
printf("새로운 프로그램 실행 준비 중...\n");
execvp(new_program, args); // 새로운 프로그램 실행
perror("execvp 실패");
exit(1);
} else {
// 부모 프로세스에서 대기
pause(); // 시그널을 기다림
}
return 0;
}