[Ubuntu] 프로세스
programming/os

[Ubuntu] 프로세스


6. 프로세스


6.1 프로세스 : 실행 중인 프로그램


ps(Process Status) : 실행중인 프로세스를 확인하는 명령어


6.1.1 ps : 현재 쉘에서 실행시킨 프로세스 목록

ps

PID        TTY        TIME        CMD

4584    pts/0        00:00:00    bash

4636    pts/0        00:00:00    dbus-launch

4856    pts/0        00:00:00    su


PID : 프로세스 아이디

TTY : 터미널 번호(?인 것은 백그라운드로 실행 중인 프로세스)

TIME : 프로세스를 실행한 시간

CMD : 명령어


6.1.2 컴퓨터에서 실행 중인 모든 프로세스 표시

-e(every) : 현재 실행 중인 모든 프로세스 정보를 출력하는 옵션

ps -e


6.1.3 현재 실행중인 프로세스의 상세 정보(시작시간, 부모ID 등)

-f(Full listing)

ps -f


PPID : Parent Process ID 부모 프로세스 아이디

STIME : 프로세스가 시작된 시각


6.1.4 모든 프로세스의 상세 정보

ps -ef


6.1.5 프로세스 중지

kill 프로세스ID

특정 프로세스를 종료시킴

kill 프로세스ID


프로세스를 강제로 중지시키는 옵션

프로세스 중지(-9 무조건 종료시킴)

kill -9 프로세스ID


프로세스가 중지되었는지 확인

ps


ex) gedit 툴을 실행한 후 프로세스 아이디를 확인하고 kill 명령어로 강제 종료

gedit


6.2 Foreground Process와 Background Process


y를 화면에 계속 출력

yes


별도의 터미널을 띄우고 실행

ps -e | grep yes


yes 프로세스가 실행된 창에서 Ctrl+C 강제 종료


화면에 출력되지 않음(포그라운드)

device null 장치로 보냄

yes > /dev/null


Ctrl+C를 눌러서 프로세스 강제 종료


백그라운드 프로세스

yes > /dev/null &

끝난 것처럼 보이지만 프로세스를 확인해보면 백그라운드에서 실행 중인 것으로 확인됨


프로세스 목록 확인

ps -ef | grep yes


포그라운드 프로세스

gedit


gedit를 백그라운드 프로세스로 실행

gedit &


ps -ef | grep gedit