rehash

linux의 경우에는 프로그램 설치후에 바로 실행이 가능한데, solaris 경우 rehash를 사용해서 갱신해줘야 한다.   rehash 해시테이블에 있는 데이터를 다시 해싱하는 명령어이다. 시스템 유틸이나 어플리케이션을 설치한 후, 명령어를 언제 어디서든 사용할 수 있도록 해주는 명령이다. 시스템에 프로그램이 설치되면, 단순히 디스크에 저장이 되고, 다음 해시 연산을 수행할 때까지 명령어를 입력해도 인식하지 못한다. 환경변수를 해당 파일에 입력하고 나서 바로 적용이 안되는 것과 같은 이치이다.     Linux / Unix Information about the Linux / Unix command rehash. QUICK LINKS About rehash Syntax Examples Related commands Unix main page ABOUT REHASH The rehash command recomputes the internal hash table of the contents of directories listed in the path environmental variable to account for new commands added. SYNTAX rehash  EXAMPLES rehash – recomputes the internal hash table of the…

apache 환경 변수 추가

apache 에서 환경 변수 사용하기 httpd.conf 파일에서 SetEnv를 이용해서 등록하면 된다. 아래는 cgi-bin에서 구동되는 파일에 적용되는 예이다. <Directory “/usr/local/apache2/cgi-bin”> SetEnv SERVER_LOG_HOME /log SetEnv SERVER_DATA_HOME /data #PassEnv LD_LIBARY_PATH SetEnv LD_LIBRARY_PATH /usr/local/lib:/usr/lib:/usr/sfw/lib:/user/items/run/server/lib:/usr/local/ACE/lib:/user/oracle/11202/lib:/user/oracle/1 1202/precomp/lib SetEnv ORACLE_HOME /user/oracle/11202 SetEnv ORACLE_SID LOFMS SetEnv TNS_ADMIN /user/oracle/11202/network/admin SetEnv ORA_NLS33 /user/oracle/11202/ocommon/nls/admin/data SetEnv NLS_LANG KOREAN_KOREA.KO16MSWIN949 SetEnv ORATAB_FAIL TRUE AllowOverride None Options None Order allow,deny Allow from all </Directory>

unix memory leak 확인 방법

간단하게 unix 에서 메모리릭을 확인 하는 방법이다. top 으로 해당 프로세스를 확인해서 메모리 증가량을 확인한다. 다만 top 경우 설치가 안된 경우가 많으니, 이때는 prstat를 사용하자. 5초 간격으로 새로고침 prstat 5 거의 top 하고 비슷하다. 오늘 알게된 새로운 팁인데, pmap pid | tail -1 해당 pid의 메모리 사용현황을 보여주고, 가장 마지막 라인이 전체 사용량이다. 따라서 이것을 루프로 반복적으로 확인하면, 간단하게 메모리 증가량을 확인할 수 있다.

JNI in solaris

jni 사용해 본 경험은 android에서 간단하게 테스트 한 정도에 불과했는데, 이번 프로젝트 진행중에 java에서 SHM을 C++ 라이브러리를 이용하기 위해 구현했다. tutorial 형식으로 인터넷에 많이 있지만, 이번에 프로젝트에 적용한 방법을 정리했다. 1. 간단하게 실행할  java 파일을 생성하자. JNITest.java

  2. java에서 C/C++을 호출할 클래스를 생성하자. Dailyon.java

여기에서 C/C++로 호출할 메소드 앞에 native 를 붙여주고, System.loadLibrary(“dailyon”); 로딩할 라이브러리 이름을 지정해준다. unix/linux 계열은 파일명이 libdailyon.so 가 된다. 3. javac Dailyon.java 만들 파일을 컴파일 하고 4. javah Dailyon 위와 같이 해주면 Dailyon.h 파일이 생성된다. Dailyon.h

  5. Dailyon.cpp 파일 작성 위에서 만들어진 파일 기반으로 c/cpp 파일을 작성하자. Dailyon.cpp

  Java_dailyon_hello 인수와 리턴형 void 이기 때문에 크게 문제가 없고, Java_dailyon_bye 스트링으로 인수를 받고, int 형으로 리턴한다. 따라서 jstring 받은 형태를 char…

unix code sniff

수정된지 1일이내 파일 찾기 find . -mtime -1 -type f -exec ls -lrt {} \; 수정된지 3일 이상된 파일 삭제 find . -mtime +3 -type f -exec rm -f {} \; 파일크기가 300KB인 파일 찾기 find . -size +300k -type f -ls 파일크기가 1000byte 이하 파일 찾기 find . -size -1000c -type f -ls 파일 크기 0인 파일 삭제 find . -type f -size 0 -exec rm -f  {} \; 확장자가 d로 끝나는 파일 삭제 하기 find . -name *.d -exec rm -rf {} \; !! find는 recursive하게 수행되기 때문에 삭제등에는 반드시 옵션을 확인후에 사용해야 합니다. find에 대한 자세한 예제 http://coffeenix.net/board_print.php?bd_code=36 grep recursive로 사용하기 linux에서는 기본적으로 grep -r 옵션이 있기때문에 쉽게 사용할 수 있는데, solaris에서는 다음과 같이 사용합니다. find .…