목록전체 보기 (89)
둘둘리둘둘리둘둘리둘둘리둘둘리둘
@파일 접근 권한(mode_t) The following symbolic constants are provided for mode: S_IRWXU 00700 user (file owner) has read, write and execute permission S_IRUSR 00400 user has read permission S_IWUSR 00200 user has write permission S_IXUSR 00100 user has execute permission S_IRWXG 00070 group has read, write and execute permission S_IRGRP 00040 group has read permission S_IWGRP 00020 group has write per..
nt!_TEB+0x000 NtTib : _NT_TIB+0x01c EnvironmentPointer : Ptr32 Void+0x020 ClientId : _CLIENT_ID+0x028 ActiveRpcHandle : Ptr32 Void+0x02c ThreadLocalStoragePointer : Ptr32 Void+0x030 ProcessEnvironmentBlock : Ptr32 _PEB+0x034 LastErrorValue : Uint4B+0x038 CountOfOwnedCriticalSections : Uint4B+0x03c CsrClientThread : Ptr32 Void+0x040 Win32ThreadInfo : Ptr32 Void+0x044 User32Reserved : [26] Uint4B+..
1. ez_setup 설치 https://pypi.python.org/pypi/setuptools#windows-simplified ez_setup.py 다운로드$python ez_setup.py build$python ez_setup.py install 환경변수 PATH에 C:\Python27\Scripts 추가 2. pip 설치 $easy_install pip
@ pipe pipe(3) #include int pipe(int pipefd[2]); #include #include #include int main(){ int pid; int fd[2]={0,}; char buffer[255]={0,}; if( pipe(fd) ) { perror("pipe"); return 0; } pid = fork(); if( !pid ){ memcpy( buffer, "hi mom\x0a\x00", 8); write( fd[1], buffer, strlen(buffer)); return 0; }else{ read(fd[0], buffer,255); printf(buffer); return 0; } return 0;} - 리턴값 : 성공은 0 에러는 -1, 실패시 errno 설..
@ 쓰레드 생성 pthread_create(3)#include int pthread_create(pthread_t *thread, //생성된 쓰레드의 buffer 포인터const pthread_attr_t *attr, //NULL이 아닐경우 쓰레드 속성 void *(*start_routine) (void *), //쓰레드로 생성할 함수 포인터void *arg); //생성할 쓰레드의 인자 Compile and link with -pthread //컴파일 시 -pthread 옵션 사용(gcc ./src.c -pthread) - 리턴값 : 성공 시 0, 실패 시 error number @ 쓰레드 정리 pthread_join(3)#include int pthread_join(pthread_t thread, //..
@ 종류 @ Signal 특징 - SIGKILL, SIGSTOP은 어플리케이션에서 catch 불가능하다. (시스템 관리차원) - 자식프로세스 생성시 signal정책도 상속된다 - 어플리케이션이 Signal을 처리중에 들어온 다른 Signal은 버려진다 @ Signal 전송 kill(2) #include #include int kill(pid_t pid, int sig); - pid > 0 : 해당 pid에 전송 - pid == 0 : 자신이 속한 모든 그룹 프로세스에 전송 - pid < -1 : pid가 속한 모든 그룹 프로세스에 전송 - pid == -1: init 프로세스를 제외한 모든 프로세스에 전송 @ Signal 핸들링 signal(2) #include typedef void (*sighandl..
@ 관련 함수 getpwent(3) #include #include struct passwd *getpwent(void); void setpwent(void); void endpwent(void);getpwent() : /etc/passwd에서 정보 추출setpwent() : /etc/passwd에서의 파일 포인터를 시작점으로 돌림.endpwent() : /etc/passwd 파일을 닫음 @ 구조체 passwd struct passwd { char *pw_name; /* 유저 이름 */ char *pw_passwd; /* 유저 패스워드 */ uid_t pw_uid; /* 유저 id */ gid_t pw_gid; /* 그룹 id */ char *pw_gecos; /* 실제 이름 */ char *pw_dir..
@ 함수 stat stat(2)#include #include #include int stat(const char *file_name, struct stat *buf); int fstat(int filedes, struct stat *buf); int lstat(const char *file_name, struct stat *buf); 지정된 파일 정보를 stat 구조체에 반환, 정보를 얻기 위해 필요한 접근 권한은 필요없지만, 파일을 읽는 경로의 모든 디렉토리에 대한 탐색 권한이 필요. 링크 파일은 그 자체의 정보가 반환 됨, 링크에 포함된 파일을 설명하지 않음.stat과 lstat은 동일시 된다.fstat은 File descriptor에 지정된 열린 파일만 가능. @ stat 구조체 struct st..
man page란 manual page의 약자로 윈도우의 MSDN처럼 개발자 도움말 페이지다 [root@hackayz dool2ly]# man write -결과-WRITE(1) Linux Programmer’s Manual WRITE(1) NAME write - 다른 사용자에게 메시지를 보낸다. SYNOPSIS write user [ttyname] DESCRIPTION Write 명령은행단위로 다른 사용자와 의사소통을 할 수 있게 한다. write 명령을 사용하면, 상대방의 화면에는 다음과 같은메세지가 나타난다. Message from yourname@yourhost on yourtty at hh:mm ... 상 대방이 어느 위치에 있건 간에 이 메시지는 나타난다. 상대방도 이 소식에 대한 답을 하기 위..