- getpid
실행 중인 프로세스 ID를 구하는 함수
#include <unistd.h>
pid_t getpid(void);
이 함수는 언제나 successful
(https://man7.org/linux/man-pages/man2/getpid.2.html glibc 버전 2.25부터 ID 캐시가 제거됨: getpid ()에 대한 호출은 항상
캐시된 값을 반환하는 대신 실제 시스템 호출 )
(** getppid() : 부모 프로세스 ID를 구하는 함수)
- pause
시그널을 기다리는 함수
#include <unistd.h>
int pause(void);
시그널을 잡으면 -1을 반환하고, 실패하면 EINTR
- sleep
초단위로 지정한 만큼 혹은 지정한 시간 안에 시그널이 올 때까지 프로세스를 멈추는 함수
#include <unistd.h>
unsigned int sleep(unsigned int seconds);
남은 시간을 반환한다.
> 대기하며 지정한 시간을 다 쓰고 종료하면 0을 반환
> 대기 중에 시그널이 발생하여 종료하면 남은 시간(초)를 반환한다.
- unsigned int seconds : 지정한 대기 시간
- usleep
마이크로 초단위로 지정한 만큼 혹은
#include <unistd.h>
int usleep(useconds_t usec);
정상적으로 종료하면 0을 반환, 오류가 발행하여 종료하면 -1을 반환한다.
-1이 반환되었을 때 전역 변수 errno의 값을 확인하면 오류를 알 수 있다.
> EINTR : 시그널이 발생하여 중단
> EINVAL : usec값이 1,000,000이상이다.
[참고 : https://www.it-note.kr/178 ]
- (unsigned int) useconds_t usec : 지정한 대기 시간 (0 ~ 999,999)
(1초 = 1,000,000마이크로 초)
- exit
실행 중인 현재 프로세스를 종료한다.
(exit(3) : exit(2) 시스템콜 함수를 wrapping한 일반 함수)
#include <stdlib.h>
noreturn void exit(int status);
반환값이 없다.
- int status : 부모 프로세스로 넘겨줄 값
[ 참고 : https://www.it-note.kr/48 ]
'42seoul > circle-2' 카테고리의 다른 글
[minitalk] 발전방향 (0) | 2022.02.26 |
---|---|
[ minitalk ] 구현과정 (0) | 2022.02.25 |
[ minitalk ] 시그널 함수 <signal.h> (0) | 2022.02.23 |
[minitalk] 1. UNIX signal (0) | 2022.02.22 |
[ minitalk ] 0. 과제이해하기 (0) | 2022.02.16 |
댓글