모든 프로세스는 부모-자식 관계를 가지고 있다.
필요에 따라 부모 프로세스는 자식 프로세스를 생성한다.
PID는 1번부터 시작하고 프로세스가 실행되면서 하나씩 증가하여 부여
<유닉스 옵션>
ps -e
: 시스템에서 실행 중인 모든 프로세스의 정보 출력 (entire)
ps -f
: 프로세스 자세한 정보 출력
ps -ef
: 전체 프로세스 목록 자세하게 출력
cf) ps -ef | more
: 전체 프로세스 목록 출력을 페이지 단위로 확인
ps -u uid
: 특정 사용자에 대한 모든 프로세스의 정보 출력
ps -p pid
: pid로 지정한 특정 프로세스의 정보를 출력
<BSD 옵션>
ps -a
: 터미널에서 실행시킨 프로세스의 정보 출력
ps -u
: 프로세스 소유자 이름, CPU 사용량, 메모리 사용량 등 상세 정보를 출력
ps -au
: 터미널에서 실행시킨 프로세스 상세 정보 출력
ps -x
: 시스템에서 실행중인 모든 프로세스의 정보 출력
ps -aux
: 전체 프로세스 목록 자세하게 출력
<GNU 옵션>
— pid PID 목록 : 목록으로 지정한 특정 PID 정보 출력
ps -ef | grep bash
: bash 셸에 대한 정보 검색
pgrep -x
: 패턴과 정확히 일치하는 프로세스의 정보 출력
pgrep -n
: 패턴을 포함하고 있는 가장 최근 프로세스의 정보 출력
pgrep -u 사용자명
: 특정 사용자에 대한 모든 프로세스 출력
pgrep -l
: PID와 프로세스 이름 출력
pgrep t term
: 특정 단말기와 관련된 프로세스의 정보 출력
ps -f $(pgrep -x bash)
시그널 : 프로세스에 무언가 발생했음을 알리는 간단한 메세지
kill [-시그널] PID
9 : 프로세스 강제종료
top : 현재 실행 중인 프로세스의 정보를 주기적으로 출력
jobs
: 현재 실행 중인 백그라운드 작업을 보는 명령
jobs %번호
: 해당 번호의 작업 정보를 출력
jobs %+ 또는 %%
: 작업 수서가 +인 작업 정보를 출력
jobs%-
: 작업 순서가 -인 작업 정보를 출력
작업 종료 : ctrl+c
nohup
: 로그아웃한 후에도 백그라운드 작업을 계속 실행
at
: 예약한 명령을 정해진 시간에 실행
at -l
: 현재 실행 대기 중인 명령의 전체 목록을 출력 atq
at -r 작업번호
: 현재 실행 대기 중인 명령 중 해당 작업 번호를 삭제한다 atrm
, at -d
at - m
: 출력 결과가 없더라도 작업이 완료되면 사용자에게 메일로 알려준다
at -f
: 표준 입력 대신 실행할 명령을 파일로 지정
contrab
: 사용자의 contrab 파일을 관리
contrab -e
: 사용자의 contrab 파일을 편집
contrab -l
: contrab 파일의 목록을 출력
contrab -r
: contrab 파일을 삭제