임베디드 리눅스 개발자 양극화를 극복하는 방법: 리눅스 커널 메일링 리스트 활용
By Guillermo Austin Kim | 2019년 9월 21일 |
제가 올린 포스팅 중 생각지도 않게 조회수가 높은 글이 종종 있습니다. 그 중 하나는 다음 포스팅입니다.임베디드 개발자 양극화는 얼마나 심각할까? 댓글을 보면 알 수 있듯 많은 분들이 공감해주셨습니다. * 맞다! 임베디드 개발의 양극화는 정말 심하다! 이글을 올린 후 리눅스 세미나에서 다음과 같은 질문을 받았습니다. * 임베디드 개발의 양극화가 심하다는 것은 알겠다. * 그런데 그 해결책은 무엇이냐? 이 질문을 받고 바로 전 다음과 같이 대답을 했습니다. * 출간될 제 책을 사보세요. * 제 책이 임베디드 양극화의 Gap을 줄여 줄 수 있을 것이라 생각합니다. 농담 반, 진담 반으로 드렸던 대답이었습니다. 다시 생각을 해보니 정말 *헛소리*를 했단 생각이 듭니다.그래
리눅스에서 스왑(swap) 사용률 확인 및 우선순위 변경
By 반달가면 | 2018년 1월 5일 |
리눅스에서 메모리가 부족할 경우 디스크를 메모리처럼 사용하기 위해 스왑(swap) 파티션을 할당하게 되는데, 현재 어느 정도의 용량이 할당되어 있고 얼마나 사용되고 있는지 확인하는 방법이다. 스왑 파티션의 현재 상태는 /proc/swaps의 내용을 확인하면 된다. 터미널창에서 아래와 같이 입력 # 스왑 파티션 사용률 확인 cat /proc/swaps Filename Type Size Used Priority /dev/sda5 partition 1046524 0 -1 위의 예시를 보면 /dev/sda5 파티션이 스왑으로 사용되고 있으며 1046524바이트가 할당되어 있고(Size 항목), 사용되고 있는 용량은 0바이트(Used 항목)이다. 우선순위(
[bash: timeout] 특정 명령어/프로세스에 대한 실행 시간 제한 설정
By 반달가면 | 2017년 3월 27일 |
특정 명령어 또는 프로세스의 실행 시간을 제한해야 할 경우 timeout을 이용할 수 있다. 어떤 작업이 일정 시간 안에 끝나지 않으면 강제로라도 끝내야 하는 상황이 있을 경우, 또는 특정 프로세스가 버그 등으로 인해 무한히 끝나지 않고 헤멜 가능성이 있다고 생각될 경우에 요긴하다. 아래의 예시를 보자. # 실행 시간 제한 3.5초 timeout 3.5s sleep 10 # 종료 상태(exit status) 확인 echo $? 124 위의 예시를 보면 sleep으로 10초간 대기하라는 명령이지만 실행 시간 제한을 3.5초로 설정했으므로 3.5초후에 sleep 프로세스는 강제 종료된다. 예시를 하나 더 보자. # 실행 시간 제한 2분 timeout 2m sleep 10
[bash: sync] 계속 파일 구성이 변하는 디렉토리에 대한 작업에 대한 문제
By 반달가면 | 2017년 9월 19일 |
확실치는 않은데, 어쨌든 일단 정리해 두기로. 일단 상황은 아래와 같다. ~/ftp_data 디렉토리에 파일을 받고 있다. 다른 장비에서 자동으로 보내준다. 그리고 1시간 간격으로 이 디렉토리에 있는 파일의 목록을 확인해서 조건에 맞는 파일은 다른 디렉토리로 옮겨야 한다. 별로 복잡하지 않은 문제라고 생각해서 아래와 같이 스크립트를 만들었다. mktemp 명령으로 /dev/shm 디렉토리에 임시 디렉토리를 만들고, find 명령으로 ~/ftp_data 디렉토리에 있는 파일 목록을 출력하여 임시 디렉토리에 파일로 저장. 이후 while 반복문으로 이 파일을 읽어서 하나씩 작업. (mktemp 관련 내용은 여기로, 파일의 내용을 한줄씩 while 반복문에 적용하는 방식에 대한 내용은 여기로) #