본문 바로가기

반응형

Linux Unix/Command

(66)
[ Linux ] screen 명령어 사용해서 세션 독립적으로 백그라운 실행하기 screen 명령어를 사용해 새로운 세션을 만들고, 그 세션 안에서 특정 명령어를 실행하는 자동 스크립트를 작성하려면 screen의 -dmS 플래그와 stuff 명령을 조합하여 사용할 수 있습니다.다음은 스크립트 예제입니다:1. 목적screen 세션을 생성 (my_session)그 세션 안에서 명령어 (python myscript.py)를 실행2. Bash 스크립트 예시#!/bin/bashSESSION_NAME="my_session"COMMAND="python3 myscript.py"# 1. 백그라운드 detached 상태로 screen 세션 생성screen -dmS "$SESSION_NAME"# 2. 해당 세션에 명령어 입력 (마지막에 Enter 키 필요)screen -S "$SESSION_NAME" ..
[ Linux ] 백그라운드로 실행 하기 1. & 사용하기 (가장 기본)./my_program &&를 붙이면 프로그램이 백그라운드에서 실행됩니다.실행 결과로 프로세스 번호(PID)가 표시됩니다.2. nohup 사용하기 (세션 종료 후에도 유지)nohup ./my_program > output.log 2>&1 &nohup은 터미널을 닫아도 프로그램이 종료되지 않게 해줍니다.> output.log 2>&1는 표준 출력과 에러 로그를 output.log 파일에 저장합니다.기본적으로 nohup.out 파일에 로그가 기록됩니다.3. disown 사용하기./my_program &disown&로 백그라운드 실행 후 disown을 하면, 터미널 종료와 상관없이 프로세스가 유지됩니다.nohup과 비슷한 효과를 주지만 별도 로그 파일은 자동으로 생성되지 않습니다..
[ Linux ] 세션 종료 후에도 프로세스를 백그라운드로 실행하기 (screen, tmux) screen과 tmux는 모두 리눅스에서 멀티플렉싱 터미널 세션을 관리하기 위한 터미널 세션 관리자입니다. 백그라운드 작업, 원격 세션 유지, 여러 창 분할 등을 가능하게 해주는 도구로, 시스템 관리자나 개발자에게 매우 유용합니다.1. 공통 개념: screen과 tmux가 왜 필요한가?리눅스에서 SSH 접속 중 명령어를 실행하다가 네트워크가 끊기면, 실행 중이던 프로세스도 함께 종료됩니다.이를 방지하려면 터미널 세션을 "가상의 공간에 계속 유지"해주는 도구가 필요하고, 대표적으로 다음 두 가지가 있습니다:screen: 오래된 툴, 전통적인 유닉스 환경에서 널리 사용tmux : screen의 후속으로, 더 많은 기능과 유연성 제공2. 사용법1. screen 사용법 요약📥 설치sudo apt install..
[ Linux ] 메모리 사용량 logging하기 메모리 사용량을 정기적으로 logging 하는 기능이 필요할 때가 있습니다.주로 생성되는 error message가 Out of memory 입니다.console 창에서 실행 시 창이 닫힐 경우 실행 해 놓은 logging 프로세스가 종료 되는 경우도 있습니다.아래 코드는 창이 닫혀도 계속해서 background로 살아 남아 logging을 계속하는 code입니다. 1. Logging Code# 오타 있을 수 있음.while true do; echo "$(date)" >> /var/log/mem_free.log free -m >> /var/log/mem_free.log echo "-------------------" >> /var/log/mem_free.log sleep 300done 2. 실행 방법su..
[ Linux ] Memory 사용량 추적하기 RHEL(Red Hat Enterprise Linux)에서 메모리 사용량을 지속적으로 기록으로 남기는 방법은 여러 가지가 있습니다.1. sar 명령어 사용 (Sysstat 패키지)sar는 시스템 성능을 일정 간격으로 기록하는 데 최적화된 도구입니다.설치:sudo yum install sysstat활성화:sudo systemctl enable --now sysstat자동 수집 주기 설정:/etc/cron.d/sysstat 파일에서 수집 주기를 조정할 수 있습니다.메모리 사용 기록 보기:sar -r # 메모리 사용량sar -B # 페이지 처리량sar -W # 스왑 처리량예시: 어제의 메모리 사용량 보기sar -r -f /var/log/sa/saXX # XX는 날짜 (예: 24일이면 sa24..
[ Linux ] 원격으로 데스크탑 연결하기 Linux 화면을 원격으로 연결하는 방법은 목적과 환경(예: GUI 사용 여부, 네트워크 구성, 보안 등)에 따라 다양합니다. 아래에 대표적인 방법들을 정리했습니다.1. SSH + X11 Forwarding (GUI 일부 프로그램만 원격 실행)조건: 원격 서버에 X11 forwarding이 가능해야 하고, 클라이언트는 X 서버가 있어야 함 (예: Windows의 경우 Xming, VcXsrv)설정:서버에서 /etc/ssh/sshd_config 파일 수정:X11Forwarding yes클라이언트에서 SSH 접속 시 -X 또는 -Y 옵션 사용:ssh -X user@remote_ip이후 gedit, firefox 같은 GUI 앱 실행 가능.2. VNC (Virtual Network Computing)전체 데스..
[ Linux ] Top 명령어 사용하기 - 정렬 top 명령어에서 사용량 기준으로 정렬해서 보려면 실행 중에 키를 눌러 조작하실 수 있습니다:1. 메모리 사용량 기준으로 정렬하기top 실행top메모리 사용량 기준으로 정렬실행 후 M (Shift + m) 키를 누르시면 됩니다.→ 그러면 RES(실제 메모리 사용량) 기준으로 프로세스가 내림차순 정렬됩니다.2. 참고P: CPU 사용량 기준으로 정렬M: 메모리 사용량 기준으로 정렬T: 실행 시간 기준 정렬Shift + > / Shift + 만약 한 줄 명령어로 바로 메모리 순서로 보고 싶다면 top 대신 ps 명령어를 자주 씁니다:ps aux --sort=-%mem | head -n 20→ 메모리 많이 쓰는 상위 20개 프로세스 출력.
[ Linux ] bashrc와 .profile 의 차이는? .bashrc와 .profile은 둘 다 로그인 시 또는 셸이 시작될 때 실행되는 초기화 스크립트이지만,역할과 실행 시점이 다릅니다.1. .bashrc대상: 대화형(interactive) 비로그인(non-login) 셸실행 시점SSH 접속 후 이미 로그인된 상태에서 bash를 추가로 실행할 때터미널 에뮬레이터(예: GNOME Terminal, Konsole)를 켜서 새 터미널 창을 열 때주 용도프롬프트 설정(PS1), alias, 함수, 경로(PATH) 추가셸에서 바로 필요한 환경설정특징로그인 과정 없이도 실행됨여러 번 실행될 수 있음 (터미널 창을 열 때마다 실행)2. .profile대상: 로그인 셸(login shell)실행 시점콘솔 로그인 (tty)SSH 최초 로그인 시디스플레이 매니저(GDM, L..

반응형