
Ctrl+Z로 멈추고 bg로 백그라운드 보내기.jobs 목록 확인 후 fg로 다시 불러오기.의미:
터미널을 끄거나 로그아웃해도 죽지 않고 백그라운드에서 계속 실행하라는 명령어. 서버 개발자의 필수품임.
nohup (No Hang Up): "전화 끊지 마"라는 뜻. 터미널 연결이 끊겨도(로그아웃) 프로세스가 종료 시그널(HUP)을 무시하게 만듦.& (Ampersand): 프로세스를 백그라운드(뒷단)로 보내서, 터미널을 계속 쓸 수 있게 함.nohup.out이라는 파일에 자동으로 저장됨.nohup.out 파일이 계속 커지면 디스크가 꽉 찰 수 있음. 로그를 관리하거나 버리는 것이 좋음.
# 테스트 스크립트 생성
cat > my_script.sh << 'EOF'
#!/bin/bash
while true; do
echo "Running at $(date)"
sleep 5
done
EOF
# 실행 권한 부여
chmod +x my_script.sh
# 확인
ls -l my_script.sh
로그를 버리고 싶을 때
Bash
nohup ./my_script.sh > /dev/null 2>&1 &
ps -ef | grep my_script | grep -v grep
터미널을 껐다 켜면 jobs 명령어로 안 보일 수 있음. 직접 찾아서 죽여야 함.
Bash
ps -ef | grep my_script | grep -v grep
kill -9 [PID]

pts/0 = 가상 터미널 (Pseudo Terminal Slave) 0번
물리적인 모니터 앞에 앉은 것이 아니라, SSH(원격)로 접속했거나 GUI 환경의 터미널 창을 띄웠다는 뜻임.
pts (Pseudo Terminal Slave): 가짜(가상) 터미널. 실제 하드웨어 장치가 아니라 커널이 소프트웨어적으로 만들어준 터미널 인터페이스./0 (Number): 접속 순서 번호.0.pts/1, pts/2로 늘어남.리눅스 서버 관리 시 이 둘을 구분하는 게 중요함.
| 구분 | 이름 | 설명 | 상황 |
|---|---|---|---|
| 물리 터미널 | tty (1~6) | TeleTYpewriter. 서버 본체에 키보드/모니터를 직접 꽂고 쓰는 곳. | 데이터센터 현장 작업, 부팅 복구 시. (Ctrl+Alt+F1~F6) |
| 가상 터미널 | pts (0~N) | Pseudo Terminal. 네트워크나 윈도우 창을 통해 연결된 가상의 통로. | SSH 접속, Xshell, Putty, VS Code 터미널 등 99%의 상황. |
지금 내가 쓰고 있는 창이 몇 번인지 알고 싶다면:
Bash
tty
# 결과: /dev/pts/0 (나는 0번방에 있구나)
또는 누가 들어와 있는지 전체 확인:
Bash
who
# 결과:
# pi tty1 Jan 29 09:00 (본체에 로그인한 사람)
# pi pts/0 Jan 29 21:10 (SSH로 들어온 나)
