본문 바로가기

프로그래밍/Linux Programming8

[시그널] kill(), pause(), alarm(), raise() 설명 및 간단 예제. kill() : 다른 프로세스에게 시그널 전송 #include #include int kill(pid_t pid, int sig); //특정 시그널을 프로세스에게 넘김. 성공 0, 실패 -1 pause() : 시그널 대기 함수 #include int pause(void); 시그널이 도착할 때 까지 기다림. 항상 -1 을 리턴. alarm() : 자신에게 알람 시그널 전달 함수 #include unsigned int alarm(unsigned int secs); 지정한 초(secs) 뒤에 현재 프로세스에 시그널을 전달함 raise() : 자신에게 시그널 보내는 함수 #inculde int raise(int sig); 2011. 10. 18.
fork()를 이용한 tcp socket 1:1 채팅 예제. fork()를 이용한 tcp 채팅 예제. client. fork()를 이용한 tcp 채팅 예제. server. 실행 결과 화면. 아래는 주석이 없는 원본 소스 입니다. 당연한 이야기지만 리눅스에서 작성되어 메모장에서는 글자가 이상하게 나옵니다. c 프로그램이나 리눅스, 또는 기타 에디터 프로그램으로 열어 주세요. 2011. 10. 18.
[시그널] 시그널 집합(signal set) 처리. 규모가 큰 소프트웨어를 만들 때 여러 개의 협력하는 프로세스들을 구성하여 서로 정보를 주고 받도록 하는 프로세스 간 통신 기법 중의 하나. => 프로그램 실행 시간이 오래 걸리거나, 잘못되었을 때, 리눅스에서는 Ctrl_C 같은 인터럽트 키를 이용하여 명령을 종료 시킴. : 키보드로 입력한 Ctrl_C 키는 커널에서 감지 -> 해당 프로세서에 시그널을 보냄. => 또는 백그라운드에서 kill 을 입력하면, 실행한 작업을 강제로 종료시킴. 예> $ ./a.out & [1] 2548 이 출력됐다면, $ kill 2548 => 유닉스 , 리눅스에서 사용되는 시그널은 30 여가지가 있음. 시그널은 signal.h 에서 제공. 시그널을 다룰 때 시그널 집합으로 다루는 것이 편리함. sigemptyset(), si.. 2011. 10. 7.
시그널 처리. 과제 2011. 10. 6.
표준 파일 입출력 * 표준 입출력 함수 사용 : 모든 OS 에서 사용할 수 있는 함수 - ANSI C 에서 제공하는 표준함수임. * 저수준 입출력 함수 사용 : UNIX / LINUX 에서 제공되는 함수 - 외부 입/출력 장치도 파일로 다룸.... - 파일의 속성을 제어하는 함수도 제공됨. //***************** 파일 처리 작업 순서 ------------------- 1. 파일포인터 또는 파일지시자 변수 선언 (표준입출력) (저수준입출력) 2. 작업 대상 파일을 연다.(open) : 파일포인터 또는 파일지시자가 대상파일의 주소 또는 정보를 참조하게 됨. 3. 파일안의 내용 입력(read) 또는 출력(write) 처리함 4. 작업이 끝나면 반드시 대상 파일을 닫는다.(close) //**************.. 2011. 10. 6.
[Linux] 디렉토리 처리 함수들 opendir(), readdir(), chdir(), 간단 예제. [Linux] 디렉토리 처리 함수들 opendir(), readdir(), chdir(), getcwd() 간단 예제. [Linux] 디렉토리 처리 함수들 opendir(), readdir(), chdir(), getcwd() 간단 예제. [Linux] 디렉토리 처리 함수들 closedir(), rewinddir(), mkdir(), rmdir() 간단 예제. [Linux] 디렉토리 처리 함수들 closedir(), rewinddir(), mkdir(), rmdir() 간단 예제. : 디렉토리 포멧은 시스템마다 구현에 차이가 있어서 시스템 의존적이다. 디렉토리 관련 오퍼레이션을 시스템과 무관하게 할 수 있도록 하기위해 POSIX.1 에 관련 함수들이 정의 되어 있음 * 디렉토리 읽기 함수 --------.. 2011. 10. 5.
[Linux] 저수준 파일처리. open(), read(), write(), lseek() 간단 예제. 저수준 파일처리. open(), read(), write(), lseek(), close() 간단 예제. 저수준 파일처리. open(), read(), write(), lseek(), close() 간단 예제. 저수준 파일처리. open(), read(), write(), lseek(), close() 간단 예제. * 표준 입출력 함수 사용 : 모든 OS 에서 사용할 수 있는 함수 - ANSI C 에서 제공하는 표준함수임. * 저수준 입출력 함수 사용 : UNIX / LINUX 에서 제공되는 함수 - 외부 입/출력 장치도 파일로 다룸.... - 파일의 속성을 제어하는 함수도 제공됨. //***************** 파일 처리 작업 순서 ------------------- 1. 파일포인터 또는 파일지시.. 2011. 10. 4.
[Linux] Makefile에서의 함수들 Makefile에서의 함수들 쉘 명령어 처리 함수 : shell 문자열 처리 함수들 : subst, patsubst, sort 공백문자 제거 함수 : strip 문자 필터링 함수들 : filter, filter-out, findstring, words, wordlist, word, firstword, join, dir, notdir, suffix, addsuffix, addprefix, basename 변수명이라고 칭하는 것은 아니라 "매크로" or "매크로이름" 이지만. 편의상 변수명이라 칭하겠음. 사용자가 원하는 대로 작성해도 됨. 단, 미리 정해진 이름들은 제외. 구분을 위해서 일반적으로 대문자 사용. [대상문자]는 변수에 문자를 담고, 그 변수를 사용해도 됨. $(변수명) 모든 함수의 결과는 변수.. 2011. 9. 27.