차밍이
[Linux] 프로세스와 프로세스 명령어 ps/kill/job/at/crontab 본문
프로세스
리눅스 시스템에서 메모리에 적재되어 실행되고 있는 모든 프로그램이 프로세스이다.
프로그램은 코드(명령어)의 집합체이다.
프로세스는 그 명령어 집합체 중에서 현재 실행 중 것을 의미함
- 모든 프로그램은 실행될 때 하나 이상의 프로세스를 갖는다.
- 병행적으로 실행 가능하다.
- 부모 - 자식 프로세스가 있다.
- 커널에 의해 관리된다.
- 모든 프로세스에는 소유자가 있다.
- 프로세스마다 식별을 위한 ID가 부여된다.
- 프로세스는 고유한 PID를 가지고 있다.
- PID 1번은
init
프로세스, 2번은kthreadd
프로세스가 실행된다.
- init 프로세스는 자머지 모든 시스템 프로세스의 부모 프로세스
ps : 프로세스 목록 보기
ps [option]
-e
: 현재 실행 중인 모든 프로세스 정보 출력
-f
: 모든 정보 확인
-a
: 실행중인 전체 사용자의 모든 프로세스 출력
-u
: 프로세스를 실행한 사용자와 프로세스 시작 시간 등을 출력
-x
: 터미널 제어 없이 프로세스 현황 보기 / 실시간으로 터미널에 프로세스가 어떻게 변하는지 보여줌
ex) ps -ef # 전체 프로세스의 모든 정보를 확인
ex) ps -aux # 전체 사용자의 모든 프로세스 출력
UID : User ID 유저의 고유 아이디
PPID : 부모 프로세스의 ID
kill - 프로세스 종료
kill [option] [PID]
-l
(영문 L 소문자) : 사용 가능한 시그널 목록을 출력
-1
: 재실행(SIGHUP)
-9
: 강제종료(SIGKILL)
-15
: 정상 종료(SIGTERM)
ex) kill -9 PID # PID가 강제 종료
job
백그라운드로 실행되는 작업을 보여주는 명령어 : job
foreground 보이는 앞 / 우리가 바로 보는 창에서 실행되는 것
background 백그라운드 보이지 않는 곳에서 실행
&
명령어를 붙이면 됨
ex) [작업명령어] &
ex) python chan.py &
ex) go main.go &
job은 프로세스와 달리 터미널 명령을 통한 작업만을 의미
job을 통해 프로세스를 실행할 수 있지만 terminal이 종료되면 job과 함께 프로세스도 종료
terminal에 의존적임
각각의 터미널마다 job은 따로 존재
job 또한 kill을 통해 종료할 수 있음
kill %[job의 작업 번호]
ps 명령어와 PID를 통해 종료할 수도 있음
at : 1회 단발성 예약 명령어
지정된 시간에 1회 실행되는 작업 예약 명령어이다.
시간이 되면 수행되고 작업 리스트에서 사라진다.
at [option] [time] [date] [+증가 시간]
-m
: 출력 결과가 없더라도 작업이 완료될 때 사용자에게 메일을 보냄
-f
: 스크립트 파일 등을 실행할 때 사용
-l
: 예약된 작업 목록 출력, atq 명령어 또한 같은 동작을 수행
atq
: 실행 예약된 at list를 출력
-v
: 작업이 수행될 시간 출력
-d
: 예약된 작업을 삭제, atrm 명령어 또한 같은 동작을 수행
atrm
: 예약된 at list 중 원하는 at를 삭제하는 명령
ex ) at now + 3 hours -f chan.sh
지금부터 3시간 후 chan.sh 스크립트 파일을 실행
crontab : 주기적 반복 예약 명령어
at과는 다르게 지정된 시간에 따라 주기적으로 실행
crontab [option]
-l
: 현재 계정의 설정된 crontab 정보 조회
-e
: 현재 계정의 crontab 정보 수정
-r
: 현재 계정의 crontab 정보를 삭제
-u
: 특정 사용자의 crontab 정보를 다르게 해 줌 / root 권한이 필요해 sudo와 함께 사용
'리눅스' 카테고리의 다른 글
[Linux] SSH 와 리눅스 원격 접속, openssh, SSH서버 실행 및 포트확인 (0) | 2021.08.12 |
---|---|
[Linux] File Redirection / Pipe / Mount (0) | 2021.08.09 |
[Linux] 정규 표현식 모음 / Regular Expression (0) | 2021.08.07 |
[Linux] 나노 텍스트 에디터 단축키 (0) | 2021.08.05 |
[Linux] 리눅스 명령어 모음 cat,find,grep,cp,mv, mkdir,touch,mdir 등 (0) | 2021.08.04 |
[Linux] Kernel and Shell (0) | 2021.08.03 |
[Linux] vim 세로줄 편집하기, 세로 방향 수정하기 (0) | 2021.04.16 |
[Linux] VIM 창 분할 및 크기 조절하는 법 / VI editor 화면 조절 단축키 정리 (0) | 2021.04.15 |