본문 바로가기

리눅스

[draft] 리눅스 터미널 세션을 확인하고 종료 방법

리눅스 터미널 세션을 확인하고 끊는 방법

리눅스에서 터미널 세션(session)은 로컬 콘솔, SSH 등으로 로그인한 사용자 연결을 의미합니다. 시스템 보안 점검, 비정상 세션 정리, 작업 중단 사용자 관리 등의 목적으로 세션을 확인하거나 종료해야 하는 경우가 있습니다.

1. 현재 터미널 세션 확인하기

who 명령어

who
ubuntu   pts/4        2023-07-24 09:28 (192.168.20.1)
ubuntu   pts/5        2023-07-24 09:28 (192.168.20.1)

출력 항목 설명

  • ubuntu : 로그인 사용자
  • pts/4 : 터미널 세션 (SSH 등 가상 터미널)
  • 192.168.20.1 : 접속 IP

w 명령어

w
 09:36:52 up 27 min,  2 users,  load average: 0.00, 0.00, 0.02
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
ubuntu   pts/4    192.168.20.1     09:28    8:11   0.04s  0.04s sshd: ubuntu [priv]
ubuntu   pts/5    192.168.20.1     09:28    0.00s  0.02s  0.02s sudo su -
  • IDLE : 사용자가 아무 작업도 하지 않은 시간
  • WHAT : 현재 실행 중인 명령

2. 사용자 기준으로 모든 세션 종료하기

특정 사용자의 모든 로그인 세션을 종료해야 할 경우 pkill 명령어를 사용할 수 있습니다.

pkill -u 사용자이름

예를 들어, 사용자 "john"의 모든 세션 종료

pkill -u john

주의: 다른 사용자의 세션을 종료하는 것은 해당 사용자의 작업을 강제로 종료시키는 것이기 때문에 신중하게 사용해야 합니다.

필요한 경우에만 이러한 작업을 수행하시기 바랍니다.

3. 특정 터미널 세션만 종료하기

사용자 전체가 아닌 특정 터미널(pts) 만 종료하려면 해당 세션의 PID(Process ID) 를 찾아 종료합니다.

 

터미널 세션에 연결된 PID 확인

  • pts/0 세션을 종료하려는 경우
ps aux | grep pts/0
ps aux | grep tty1
root         680  0.0  0.2   7812  4756 tty1     Ss   09:09   0:00 /bin/login -p --
test        1357  0.0  0.2   6204  5268 tty1     S    09:10   0:00 -bash
root        1374  0.0  0.2   9084  5608 tty1     S+   09:10   0:00 sudo su -
root        2929  0.0  0.1   6476  2424 pts/5    S+   09:34   0:00 grep --color=auto tty1

kill 명령어로 세션 종료

kill PID

pts/0 세션을 종료하고자 할 때

kill 1357

정상 종료가 되지 않을 경우에만 강제 종료

kill -9 1357
-9 옵션은 최후의 수단으로 사용하세요.