본문 바로가기

linux70

ctags 지원 언어 목록 / list-language, list-map, languages ctags 옵션에 이어서 언어에 관련된 옵션들을 살펴본다. ctags 옵션 / recursive, only c, c++, exclude ctags 생성 응용 C/C++ 언어만 지정 경로로부터 recursive 하게 tagging하여 tag 수행 시간과 용량을 출력한다. 해당 경로는 필요에 따라 변경하여 사용한다. (time ctags -R --languages=C,C++ ~/. \ /usr/local.. muabow.tistory.com 1. --list-languages ctags에서 인식하는 언어 목록을 나타낸다. $ ctags --list-languages Ant Asm Asp Awk Basic BETA C C++ C# Cobol CSS DosBatch Eiffel Erlang Flex Fortra.. 2022. 9. 5.
ctags 옵션 / recursive, only c, c++, exclude ctags 생성 응용 C/C++ 언어만 지정 경로로부터 recursive 하게 tagging하여 tag 수행 시간과 용량을 출력한다. 해당 경로는 필요에 따라 변경하여 사용한다. (time ctags -R --languages=C,C++ ~/. \ /usr/local/include \ --exclude=test \ >& /dev/null) | awk '{print "Elapsed time: "$3}' ; du -h tags # 결과 Elapsed time: 0:10.80 48M tags 해당 명령의 옵션은 다음과 같다. -R recursive 하게, 즉 지정된 경로 이하 모든 디렉토리를 포함한다. 경로는 여러개를 입력 할 수 있다. 물론 중복 처리도 한다. --language=C,C++ C, C++ 관련.. 2022. 9. 4.
RHEL HOME/END key bind RHEL HOME/END key bind RHEL shell에서 home키와 end키가 동작하지 않으면 bindkey를 통해 사용할 수 있다. bindkey "\e[1~" beginning-of-line bindkey "\e[4~" end-of-line # 또는 bindkey "^[[1~" beginning-of-line bindkey "^[[4~" end-of-line 해당 bindkey 명령을 ~/.profile 또는 ~/.bashrc, ~/.cshrc 등 프로파일에 등록해두면 편하다. 2022. 9. 4.
csh stderr redirection csh 환경에서 stderr redirection xargs grep 을 통해 특정 키워드 탐색 시 stderr redirection을 하지 않으면 디렉토리 관련 오류 메시지를 현시한다. 이런 경우 stderr 메시지를 /dev/null 경로로 redirection 하여 키워드가 포함된 결과만 확인할 수 있다. e.g.) 현재 경로 하위에서 내용 중 lib-release 라는 키워드를 찾고 싶을 때 사용 csh 환경 (find . | xargs grep "lib-release" > /dev/tty) >& /dev/null bash 활용 bash -c 'find . | xargs grep "lib-release" 2> /dev/null' 2022. 9. 4.
[PHP] 멀티 프로세스 교착 관리 / semaphore, 세마포어, sem_get() 멀티 프로세스 교착 관리 세마포어와 뮤텍스는 이 포스팅을 보는 본인께서 더 잘 아실 거라 믿는다. 이번에는 php 프로세스 간 세마포어 제어를 다뤄볼 것이다. 인터프리터 주제에 세마포어..!? 라고 생각할 수도 있지만 모든 프로그램은 런타임에 메모리에 적재된 순간부터는 모두 같은 프로세스이기 때문에.. (본인은 php 데몬을 애용하는 편이다. 플랫폼 영향을 안 받기 때문) php - php간, php - 외 native process 간 등 모든 상황에 공유 자원(e.g. file, I/O, db 등 접근 가능한 모든 대상)의 사용 시 교착(deadlock)에 빠질 수 있다. 그래서 php에서도 세마포어가 된다는 것을 알아보려한다. 소스코드 세마포어를 이용하기 위해선 sem_get() 을 사용해야 하는데.. 2022. 1. 21.
linux NTP Server / Client 설치 및 설정 정보 NTP Server / Client 설치 및 설정 정보 NTP(Network Time Protocol)를 보통 WAN 환경에서 사용하지만 Local network 구성으로 폐쇄망을 사용하는 경우에는 Public domain의 NTP를 사용할 수 없다. 그렇다고 폐쇄망 내에 위치한 많은 장치의 시간을 하나씩 수동으로 맞춘다는건 무척 많은 시간과 노력이 소요되며 입력하는 사용자의 실수 등으로 장치들의 시간 동기화가 안맞을 확률이 매우 높을 것이다. 그렇기 때문에 폐쇄망의 특정 장치를 NTP 서버로 설정하고 그 외에 모든 장치를 NTP 클라이언트로 사용하게 되면 적어도 같은 네트워크 내에서는 시간 동기화를 이뤄낼 수 있다. 물론 특정 장치의 시간은 사용자가 잘 맞춰줘야 하지만. 본론으로 들어가자. 1. 목적 .. 2022. 1. 20.
[C/C++] C언어 파일 생성/삭제 이벤트 모니터링 / inotify, event monitoring C언어 파일 생성/삭제 이벤트 확인 inotify - monitoring filesystem events, inotify 를 이용하여 파일시스템 이벤트를 모니터링하는 프로그램을 만들어보자. 응용 또는 질문은 댓글에 남겨주면 성실하게 답장해주겠다. 이번에도 늘 그렇듯 완성된 동작의 소스코드를 동작한다. 이번 소스코드에서는 생성(IN_CREATE)와 삭제(IN_DELETE)만 사용하였지만 더 많은 event trigger가 존재한다. inotify의 man page 일부 발췌 IN_ACCESS (+) File was accessed (e.g., read(2), execve(2)). IN_ATTRIB (*) Metadata changed—for example, permissions (e.g., chmod(2).. 2022. 1. 20.
mplayer slave mode, 파이프, 커맨드 사용 mplayer slave mode, 파이프, 커맨드 사용 mplayer slave mode - pipe를를 통한 command 전달 mode로 동작 ex) mplayer -slave 1. idle 동작 - mplayer 가 background process로 동작하여 command 전달 시 그에 해당하는 동작 수행. - idle 동작 시pipe를 반드시 지정해야 함. ex) mplayer -slave -idle -input file= 2. standalone 동작 - mplayer 실행 시 실행할 파일/URL을 입력받아 동작. - pipe 지정 시 pipe 를 통한 command 전달 가능. ex) mplayer -slave -input file= 3. 비교 - idle 동작 시background로 커맨.. 2022. 1. 20.