[라즈베리파이] 시그널 - 시그널 번호와 동작 알아보기
By Guillermo Austin Kim | 2018년 11월 27일 |
책을 읽다가 발생하는 여러 비동기적인 이벤트(인터폰, 전화)가 있듯이, 유저 레벨 프로세스 동작 중에 발생할 수 있는 시그널도 여러 가지가 있습니다. 유닉스나 리눅스 커널 버전이 달라도 시그널 종류는 비슷합니다. 시그널은 POSIX 규약으로 정의된 표준이며 이제 맞게 리눅스 시스템 개발자가 구현하기 때문입니다. 다음은 라즈베리파이 리눅스 커널 4.14.70 버전에서 지원하는 시그널 번호를 확인한 결과입니다.pi@raspberrypi:~ $ kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR111) SIGSEGV 12) SIGUSR2 13) SIGP
[라즈베리 파이] 라즈비안 버전과 커널 소스 버전
By Guillermo Austin Kim | 2020년 1월 7일 |
이번 절에서는 라즈베리 파이에서 라즈비안 리눅스 커널 소스코드를 내려받고 빌드하는 방법을 알아보겠습니다. 참고로 필자는 불필요한 권한 설정을 피하기 위해 터미널에서 다음 명령어를 입력해 root 권한을 획득했습니다. $ sudo su 실제 라즈베리 파이의 터미널에서 sudo su 명령어를 입력할 때의 모습은 다음과 같습니다. 그림 2.37 터미널에서 sudo su 명령어를 입력한 모습 라즈비안 버전과 커널 소스 버전 라즈비안 커널 이미지를 내려받는 방법을 설명하기에 앞서 라즈비안과 커널 버전에 대해 알아둘 필요가 있습니다. 이 책에서 다루는 커널 디버깅과 관련된 내용은 2019년 7월 10일에 라즈베리 파이 커뮤니티에서 배포한 다음 이미지를 기준으로 테스트했습니다. 라즈비안 이미지 파일
[리눅스커널] 워크큐: 워커 스레드 핸들 worker_thread() 함수 분석하기 (1/2)
By Guillermo Austin Kim | 2019년 9월 29일 |
커널 스레드를 처음 분석하려고 할 때 다음과 같은 의문이 생길 때가 있습니다. 새로운 커널 스레드 코드 분석을 시작할 때 어느 코드부터 분석해야 할까? 먼저 커널 스레드 핸들 함수를 열어봐야 합니다. 그 이유는 커널 스레드 세부 동작은 커널 스레드 핸들 함수에 구현됐기 때문입니다. 마찬가지로 워커 스레드 세부 동작을 알려면 먼저 스레드 핸들 함수인 worker_thread() 함수를 봐야 합니다. 이번 시간에는 worker_thread() 함수를 분석하면서 세부 동작 원리를 배워보겠습니다. 먼저 worker_thread() 함수의 주요 동작은 다음과 같습니다. 워크 실행필요 시 워커 스레드 생성 요청워커 스레드 종료 위 항목 중 핵심 동작은 워크를 실행하는 것이며 나머지는 워커를
리눅스에서 .netrc 파일을 이용한 ftp 자동 로그인
By 반달가면 | 2018년 5월 8일 |
같은 LAN에 붙어 있는 ftp 서버에 자주 접속해서 뭔가 작업을 할 경우가 있어서 접속할 때마다 사용자 계정과 암호를 입력하기가 번거로운 관계로, .netrc 파일에 로그인 정보를 저장해서 자동으로 로그인되도록 했다. .netrc 파일은 홈 디렉토리(~/)에 둔다. 없다면 새로 만들면 되겠다. # .netrc 파일 편집 vi ~/.netrc 파일 내용은 아래와 같은 형식으로 구성된다. machine [서버 주소] login [사용자 계정] password [암호] 예를 들어 서버 주소 ftp.my_server.net, 사용자 계정 john, 접속암호 my_pwd인 경우 .netrc 파일에 아래와 같은 형태로 입력하고 저장하면 되겠다. machine ftp.my_server