[42Seoul/minishell] 사용 가능한 외부 함수 (4)

yebeen·2022년 8월 10일
0

42-Seoul/minishell

목록 보기
5/9
post-thumbnail
사용 가능한 외부 함수
readline, rl_on_new_line, rl_replace_line, rl_redisplay, add_history, printf, malloc, free, write, open, read, close, pipe, fork, wait, waitpid, wait3, wait4, unlink, execve, dup, dup2, exit, signal, kill, getcwd, chdir, stat, lstat, fstat, opendir, readdir, closedir, strerror, errno, isatty, ttyname, ttyslot, ioctl, getenv, tcsetattr, tcgetattr, tgetent, tgetflag, tgetnum, tgetstr, tgoto, tputs

signal()

특정 시그널에 대해 수행할 동작을 정의하는데 사용됩니다. 시그널 함수를 통해 SIGKILL, SIGSTOP, SIGCONT 등을 제외한 특정 시그널의 처리 동작을 정의할 수 있습니다.

#include <signal.h>

void ( *signal (int sig, void(*func)(int)) )(int);

시그널 타입에 맞는 핸들러를 설치하고 성공 시 이전 핸들러를 반환하고 실패시 SIG_ERR를 반환합니다.


kill()

시그널을 받을 프로세스의 pid를 인자로 받습니다.

#include <signal.h>
int kill(pid_t pid, int sig);

pid로 지정한 프로세스에게 시그널을 보냅니다.


getcwd()

현재 작업 디렉토리 경로를 문자열로 가져옵니다. 경로가 저장되는 buf를 인자로 받습니다. bufNULL문자를 포함하며 기록이 성공적이면 buf의 주소를 반환합니다.

#include <unistd.h>

char *getcwd(char *buf, size_t size);

bufNULL을 인자로 할 경우 size만큼의 크기로 malloc 후 해당 공간의 주소를 반환하게 됩니다. 이 경우 동적 할당 받은 공간에 대해서 사용자가 직접 free를 호출해야 합니다.
문제가 발생할 경우 NULL이 반환되며 errno에 상세 오류 내용이 저장됩니다.


chdir()

현재 작업 디렉토리를 변경합니다.

#include <unistd.h>

int	 chdir(const char *);

경로 변경에 성공 시 0을 그렇지 않을 경우 -1을 반환합니다.


stat()

파일 상태(정보)를 가져옵니다. 절대 경로 path를 인자로 넘겨줍니다. path가 가리키는 파일을 통계하고 buf를 채웁니다.

#include <sys/stat.h>

int     stat(const char * path, struct stat *buf);

함수 실행 성공 시 0을 그렇지 않은 경우 -1을 반환합니다.


lstat()

파일 상태(정보)를 가져옵니다. 절대 경로 path를 인자로 넘겨줍니다. 경로가 심볼릭 링크인 경우 링크가 참조하는 파일이 아닌 링크 파일에 대한 정보로 buf를 채웁니다.

#include <sys/stat.h>

int     lstat(const char * path, struct stat *buf);

함수 실행 성공 시 0을 그렇지 않은 경우 -1을 반환합니다.


fstat()

파일 상태(정보)를 가져옵니다. fd가 가리키는 파일을 통계하고 buf를 채웁니다.

#include <sys/stat.h>

int     fstat(int fd, struct stat *buf);

함수 실행 성공 시 0을 그렇지 않은 경우 -1을 반환합니다.



참고

profile
🐣🐥

0개의 댓글