2020. 4. 13.

[Linux] 프로세스와 명령어(ps, kill, nohup) 정리

프로세스

시스템에서 실행 중인 프로그램
메모리 일정 구역을 할당 받아 실행
pid에 의해 구별
Tree구조를 이루며 최상위 프로세스는 init
Ppid로 구별되는 상위(부모 프로세스)를 가짐

프로텍션 도메인

프로세스가 할당받은 메모리 영역

Job

터미널에서 실행한 프로세스로 Shell에 의해서 job 번호가 부여된다.
키보드, 마우스 등


Foreground

현재 터미널에서 제어되는 프로세스입출력은 foreground 프로세스를 위해서 대기
지금 눈앞에서 보이는 것
터미널 입출력 제어권을 가지고 있음

Background - &

터미널과 무관하게 메모리에서 실행되는 프로그램
Daemon 프로세스들이 background에서 실행


Ps

프로세스 확인
#ps [옵션]

옵션 ( 주옵션 ps -ef)

-a : 현재 터미널에서 실행중인 프로세스
-e : 전체 프로세스
-f : 자세한 내용
-u : 실행 계정, 시작 시간 포함한 정보 검색
 -p : 해당 프로세스 출력



UID : 프로세스 실행 계정
PID : pid
PPID : 부모프로세스 pid
C : idle time
STIME : start time
TTY : 터미널
TIME : CPU 사용 시간
CMD : 실행 명령


Kill

프로세스를 강제 종료
Signal 지정하고 미리 정의된 프로세스에 대한 종료 작업을 수행
# kill [-signal] [PID]

옵션

-l : signal 목록출력

Signal목록
1 - SIGHUP : 연결 끊기, 프로세스의 설정파일을 다시 읽음
9 -SIGKILL : 프로세스 강제 종료
15 - SIGTERM : 소프트웨어 종료 


-9


Nohup

프로세스 중단(hangup)을 무시하고 명령을 계속 실행
이로인해 로그아웃 이후에도 명령은 계속 실행되지만 명령을
background(&)로 돌리는 것은 아니다. 또한 표준 출력을
nohup.out으로 변경
작업 시간이 긴 명령어를 실행할 때 로그 아웃이나 터미널
다운에 대비가능
# nohup [command]

*거의 안쓰임




댓글 없음:

댓글 쓰기