[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 반복문에 적용하는 방식에 대한 내용은 여기로) #
[라즈베리파이] 커널 정보 확인 - Trace32
By Guillermo Austin Kim | 2018년 2월 12일 |
아래 Trace32 스크립트를 실행하면 라즈베리파이 커널 vmlinux를 Trace32에 올릴 수 있습니다.sys.cpu cortexa7sys.u d.load.elf vmlinux 라즈베리파이 리눅스 커널 정보를 확인하겠습니다.각 섹션 정보는 아래와 같습니다.y.l.sec_____address________|path\section___________________________|acc|init|physicalP:80008000--8000826B|\\vmlinux\.head.text |R-X|L- |P:80100000--80707797|\\vmlinux\.text |R-X|L- |P:80707798--807077B3|\\vmlin