[라즈베리파이] 프로세스: 태스트디스크립터(프로세스 연관관계)
By Guillermo Austin Kim | 2019년 1월 31일 |
이전 시간에 유저 공간에서 생성한 모든 프로세스의 부모 프로세스는 init 이고 커널 공간에서 생성한 커널 스레드(프로세스)의 부모 프로세스는 kthreadd라고 했습니다. 태스크 디스크립터에서는 프로세스의 부모와 자식 관계를 상세히 알 수 있습니다. struct task_struct *real_parent; 프로세스를 생성한 부모 프로세스의 태스크 디스크립터 주소를 저장합니다. struct task_struct *parent; 부모 프로세스를 의미합니다. real_parent 란 멤버는 해당 프로세스를 생성해준 프로세스를 의미합니다. 그런데 자식 프로세스 입장에서 부모 프로세스가 소멸된 경우 부모 프로세스를 다른 프로세스로 지정합니다. 프로세스 계층 구조에서 지정한 부모 프로세스가 없을 경우 in
kazam - 리눅스용 화면 녹화 프로그램
By 반달가면 | 2020년 7월 20일 |
kazam(카잠)은 바탕화면에서 이루어지는 작업을 녹화하여 동영상 파일로 저장해 주는 프로그램이다. 데비안/우분투 기반 배포판일 경우 아래와 같이 설치해 주면 되겠다. # S/W 저장소 갱신 sudo apt-get update # kazam 설치 sudo apt-get install kazam # kazam 실행 kazam kazam을 실행하면 화면을 동영상으로 녹화(screencast)하거나 스크린샷(screenshot)을 찍을 수 있다. 촬영 범위는 전체 화면, 특정 실행창, 특정 영역 등을 지정할 수 있고, 스피커 또는 마이크의 소리를 함께 녹음할 수도 있다. 사용 방법이 그리 복잡하지 않아서 한두번만 시험해 보면 금방 감을 잡을 수 있을 것이다. "captur
[라즈베리파이] 시그널 - 유저 공간 시그널 설정은 어떻게 할까?
By Guillermo Austin Kim | 2018년 12월 3일 |
이번 시간에 절에서는 시그널을 설정하면 유저 공간에서 커널 공간까지 어떤 흐름으로 처리하는지 소스 코드를 보면서 살펴 보겠습니다. 유저 레벨 프로세스에서 시그널 설정을 어떻게 하는지 소스 코드와 함께 살펴봅시다. 유저 공간에서 시그널을 설정하는 간단한 코드입니다.1 #include <unistd.h>2 #include <signal.h>3 #include <stdio.h>4 #include <stdlib.h>56 void sig_handler(int signum) {7 switch(signum) {8 case SIGINT:9 printf("sig num [%d] \n", signum);10 break;11 12 case SIGALRM:1
보디 리눅스(Bodhi Linux) - 한글 입력 기능 추가 및 버추얼박스 게스트 확장 설치
By 반달가면 | 2020년 8월 13일 |
버추얼박스 가상머신 용도로 사용하기에 괜찮은 가벼운 리눅스 배포판을 하나 발견. 보디 리눅스(Bodhi Linux)라는 이름의 배포판이다. 홈페이지는 아래의 링크로 가면 된다. Bodhi Linux 공식 홈페이지 우분투(Ubuntu) LTS 버전에서 파생된 배포판인데, 상당히 가볍게 만들어졌다. 현재 버전은 5.1.0이고, 우분투 18.04LTS를 기반으로 하고 있다. 설치해 보니 디스크 점유는 5GB 미만이고, 부팅하고 나서 RAM 점유는 600MB 미만이다. 매우 가볍다. 데스크탑 환경이 모크샤 데스크탑(Moksha Desktop)이라고 되어 있는데, 좀 생소하긴 하지만 XFCE와 좀 비슷한 측면이 있어서 그럭 저럭 쓸만한듯. 영문판으로 설치하고 한글 입력 기능을 추가하는 방식으로