[bash: find, xargs, for] find 명령으로 추려낸 여러 파일에 대해 같은 작업을 하기 위한 스크립트
By 반달가면 | 2018년 8월 13일 |
find 명령으로 추려낸 파일들을 xargs 명령으로 넘겨서 해당 파일들에 대해 뭔가 작업을 하기 위한 스크립트를 만들 수 있다. 우선 find에 대한 기본적인 내용은 여기로, xargs에 대한 기본적인 내용은 여기로. 작업용 스크립트의 이름을 proc.sh라고 하자. 명령어 실행은 아래와 같은 형태가 될 것이다. # my_file.txt 파일에 대한 작업 bash proc.sh my_file.txt # find 명령으로 추려낸 여러 파일에 대한 작업 find ./ -type f | xargs proc.sh # find와 grep 명령으로 .txt 파일만 추려낸 후 작업 find ./ -type f | grep "\.txt" | xargs proc.sh find 명령으로 몇개
[라즈베리파이] 인터럽트 핸들러 등록(1) - #CS
By Guillermo Austin Kim | 2018년 5월 22일 |
인터럽트 핸들러를 등록하는 처리 과정을 배우기 전에 우선 핸들러란 단어의 의미를 알 필요가 있습니다. 보통 핸들러는 동적으로 바뀌는 액션을 처리하기 위한 용도로 호출합니다. 그래서 핸들러는 함수 포인터로 등록해서 처리하는 경우가 대부분입니다. 만약 어떤 시스템에 인터럽트를 36개로 설계했으면 36개의 if else 문으로 인터럽트 핸들러를 호출하면 어떻게 될까요? 만약 다른 시스템에서 40개면요? 참 리눅스 커널 코드를 유지 보수하기 어렵겠죠. 그래서 인터럽트 핸들러는 함수 포인터로 등록합니다. 인터럽트 핸들러는 해당 인터럽트를 처리하기 위한 함수들이며 보통 인터럽트 종류만큼 인터럽트 핸들러 함수들이 있습니다. 인터럽트 핸들러 등록 시 기본 파라미터해당 인터럽트가 발생하면 해당 인터럽트 핸들러 함수가 호출
리눅스에서 특정 프로세스의 cpu 점유율 확인
By 반달가면 | 2018년 7월 26일 |
현재 실행중인 프로세스들 중에 특정한 프로세스의 cpu 점유율이 어느 정도 되는지 확인하고 싶을 때 ps 명령의 옵션을 적당히 활용해서 간단하게 할 수 있다. 아래의 예시를 보자. # firefox 웹브라우저의 cpu 점유율 확인 ps -C firefox -o %cpu %CPU 5.5 위의 예시에서 -C 옵션으로 프로세스 명칭을 지정해 주고, -o 옵션으로 출력할 항목을 지정해 주었다. 프로세스가 여러개 있을 수도 있으므로, cpu 점유율만 출력하는 것보다는 PID와 실행명령(command)를 같이 출력해 주는 것이 좀 더 편리하다. 실행명령에 인자(argument)가 포함될 수도 있으므로, -o 옵션에서 cmd 항목은 되도록 맨 마지막에 출력되도록 순서를 잡는 것이 좋겠다. -C 옵션에서
ARM64(Aarch64) - 함수 호출시 Stack Push(스택 푸쉬) 규약
By Guillermo Austin Kim | 2017년 12월 25일 |
아래와 같은 콜 스택에서 유저 공간에서 돌던 레지스터 Stack Push와 Exception 발생 시 Stack Push에 대해서 살펴봤어요. 이제는 평상시 함수 호출 시 어떻게 Stack Push를 하는 지 점검하려고 해요. 자 계속 그 동안 다뤄왔던 아래 "rild"란 프로세스의 콜스택에서 msm_ipc_router_sendmsg()-> msm_ipc_router_send_to() 으로 함수가 호출된 후 스택 푸쉬가 어떻게 수행되는 지 점검해볼께요.-000|do_mem_abort()-001|el1_da(asm) -->|exception-002|ch_pop_remote_rx_intent()-003|glink_tx_common()-004|glink_txv()-005|ipc_router_glink