2015/08

    [프로세스 관리] 3. 프로세스 종료

    [프로세스 관리] 3. 프로세스 종료

    프로세스 종료에 대해 알아보겠습니다. 1) exit() 시스템 콜 기본적으로 많이 사용되는 프로세스 종료 표준함수는 exit() 시스템 콜입니다. exit 시스템 콜의 형태는 아래와 같습니다. #include void exit(int status); 입력 인자 void없음 반환 값 int 프로세스의 종료 상태를 나타내기 위한 값 생각해보시면, exit() 시스템 콜이 호출되게 되면, 프로세스가 즉시 종료되기 때문에 반환 값이 있을 수가 없습니다. 그럼 프로세스가 정상적으로 종료되었는지 확인하는 방법은 무엇일까요?? 바로 status 인자를 이용하여 프로세스의 종료 상태를 확인할 수 있습니다. 즉 status가 입력 인자이면서 반환 값 용도로 사용 되는 것이죠. status 인자는 셸 같은 다른 프로그램에..

    [펌] PID로 프로세스 정보 알아내기

    방법 1: /proc 명령어 cat /proc/프로세스아이디/status | grep Name 실행예시 [root@localhost ~]# cat /proc/25387/status | grep Name Name: tail 변수에 담기 명령어 PROC_NAME=`cat /proc/프로세스아이디/status | grep Name | awk '{print $2}'` 실행예시 [root@localhost ~]# PROC_NAME=`cat /proc/26099/status | grep Name | awk '{print $2}'` [root@localhost ~]# echo $PROC_NAME tail 방법 2: ps 엄밀히 말해 이 방법은 프로세스 이름이 아니라 프로세스 실행명령어를 보여준다. 하지만 이를 통해 ..

    리눅스 시스템 에러 - errno

    /usr/include/asm/errno.h 참고하였습니다. #define EPERM 1 /* Operation not permitted */ #define ENOENT 2 /* No such file or directory */ #define ESRCH 3 /* No such process */ #define EINTR 4 /* Interrupted system call */ #define EIO 5 /* I/O error */ #define ENXIO 6 /* No such device or address */ #define E2BIG 7 /* Arg list too long */ #define ENOEXEC 8 /* Exec format error */ #define EBADF 9 /* Bad fi..