다른 세션에서 실행중인 프로세스에 인터셉트 하기

LINUX IT

리눅스 서버에서 다른 세션에서 실행중인 프로세스에 접근해야할 일이 생겼다.이리저리 알아보니 다음과 같은 방법들이 있었다. (대체 안되는게 뭐냐..) strace: strace는 시스템 호출 및 시그널을 추적하는 데 사용되는 도구입니다. 이 도구를 사용하면 프로세스가 시스템에게 무엇을 요청하는지 확인할 수 있습니다. 출력을 인터셉트하려면 write() 또는 writev() 같은 시스템 호출을 주목하면 됩니다. 예:bashCopy codestrace -e write -p PID 위 명령은 …

Continue Reading

Ubuntu run level 확인 및 변경

LINUX SERVER

얼마 전에 황당한 일을 겪었다.운영중인 서버가 응답을 하지 않아서 콘솔에서 로그인하여 이것저것 확인해보고 있으면 어느새 서버가 살아나서 응답을 하고, 또 일정 시간이 지나면 응답을 하지 않는 상황.정확한 것은 아니지만 최근 설치한 GPU 드라이버 때문이 아닌가 싶다.원래 OS 설치시에 서버용으로 설치했기에 CUI 모드로 부트가 되는데, GPU 드라이버 설치 후 알 수 없는 이유에 의해 부트 모드가 …

Continue Reading

Linux console에서 특정 파일을 제외하고 모두 삭제하기

LINUX

특정 파일만 삭제하는 것은 rm -rf file_name과 같이 많이 사용하는데,특정 파일만 제외하고 모두 삭제하는 케이스는 많지 않아서 해본적이 없는데 그 일이 벌어졌다.find 를 활용한 방법이었고, 덕분에 새로운 사실을 하나 더 알게 되었다. find -maxdepth 1 ! -name ‘file1 ! -name ‘file2’ ! -name . -exec rm -rv {} \; 이렇게 하면 depth 1이내의 파일며ddl file1, …

Continue Reading

ssh tunneling을 이용해 local port로 원격 DB에 접속하기

LINUX OSX

여러가지 이유로 DB에 바로 접속하지 못하고 SSH tunneling을 이용해야 하는 경우가 발생하게 되는데, Datagrip등의 DB Handling Tool에서는 자체적으로 ssh tunneling을 지원하지만 로컬에서 테스트할 때 사용하는 개발 언어에서 공식적으로 지원하지 않는다면 별도의 라이브러리를 사용한다던가 하는 귀찮음이 발생한다. 라이브러리 사용 시 connection이나 query execution등의 구문들도 다 바꿔주어야하니 여간 귀찮은게 아니다. (물론 connection과 execution등을 wrapping 해두었다면 한두군데만 수정하면 …

Continue Reading

httpd, mysqld 네트워크 외부로 커넥션 허용

LINUX SERVER DB

selinux 가 실행중일 때 아래와 같이 네트워크 관련 옵션이 on 되어있지 않으면 내부에서 외부로의 네크워트 연결이 불가하다.아래와 같이 명령 해주면 정상적으로 커넥션이 가능하다.. setsebool httpd_can_network_connect onsetsebool httpd_can_network_connect_db onsetsebool mysql_connect_any onsetsebool mysql_connect_httpd on

Continue Reading