Linux/리눅스마스터

리눅스 signal (시그널)

Great king 2019. 3. 11. 20:17




$1.  리눅스 시그널이라고 아시나요??



리눅스의 시그널에 대해서 알고 계신다면 한번 풀어보세요!




시그널 (signal) 이란?


$1. 데스크에게 비동기적인 사건 발생을 알리는 커널이 전달하는 신호입니다!


$2. signal 을 받은 프로세스는 signal에 따른 미리 지정된 기본 동작을 수행할 수도 있고, 사용자가 미리 정의해 놓은 함수에 의해서 무시하거나, 특별한 처리를 할 수 있습니다.


$3. 시그널은 <signal.h> 헤더 파일에 정의되어 있습니다.




시그널의 종류


1. SIGHUP : 터미널이 끊어지기를 기다림 (종료)

2. SIGINT : 인터럽트 키 (^ C)를 입력 할 때 (종료)

3. SIGQUIT : 종료 키 (^ \)를 입력하면 끝납니다 (종료 + 코어).

4. SIGILL : 불법적 인 명령을 수행 할 때 (종료 + 코어)

5. SIGTRAP : 구현 하드웨어 정의 오류 (종료 + 코어)


6. SIGABRT : 시스템 콜을 종료합니다 (종료 + 코어).

7. SIGBUS : 구현 하드웨어 정의 오류 (terminate + core)

8. SIGFPE : 산술 예외, / 0, 부동 소수점 오버 플로우 (종료 + 코어)

9. 시그널 (SIGKILL) : 프로세스가 위생 신호를 죽이고, 무시한다. 무시 신호가 없다. 임 (종료)

10. SIGUSR1 : 사용자 정의 신호 1 (종료)


11. SIGSEGV : 유효하지 않은 메모리 참조 (종료 + 코어)

12. SIGUSR2 : 사용자 정의 신호 2 (종료)

13. SIGPIPE : 독자가 파이프를 종료한다. write를 쓰다 (종료)

14. SIGALRM : 알람 시스템 호출 후 타이머가 만료 됨 (종료)

15. SIGTERM : kill 시스템 호출이 종료 된 소프트웨어 종료 신호 (종료)


16. SIGCHLD : 자식이 멈추거나 빠져 나올 때 부모가 전달한 신호 (무시)

17. SIGCONT : 중지 된 프로세스를 계속합니다 (continue / ignore).

18. SIGSTOP : sendable stop 신호, catch 또는 무시할 수 없음 (프로세스 중지)

19. SIGTSTP : 정지 키 (^ Z)를 입력하십시오. (중지 프로세스)

20. SIGTTIN : 백그라운드 프로세스가 제어 프로세스를 제어한다.


21. 시그이트 : 백그라운드 프로세스가 컨트롤을 쓰지 못하게한다 (프로세스 중지)

22. SIGURG : IO에 대한 긴급한 조건, 소켓의 OOB 데이터 (무시)

23. SIGXCPU : CPU 시간 제한 초과 (종료 + 코어 / 무시)

24. SIGXFSZ : 파일 크기 제한을 초과했습니다 (terminate + core / ignore).

25. SIGVTALRM : 가상 시간 알람, setitimer, (종료)


26. SIGPROF : 프로파일 링 시간 알람, setitimer, (종료)

27. SIGWINCH : 터미널 창 크기가 변경되었습니다 (무시).

28. SIGIO : 비동기 I / O 이벤트가 종료 (무시 / 무시)

29. SIGPWR : 시스템 전원 고장 (종료 / 무시)

30. SIGSYS : 시스템 호출에 대한 잘못된 인수 (terminate + core)


답: 4번

SIGDOWN 이라는 시그널은 없습니다.