14장 프로세스 관리

2019. 9. 3. 22:19정보보안과정/리눅스 기초

190903
엘리어스 (Alias)
# alias cp ='cp -i'
# alias
# unalias cp
/* 다른 위치에 명령어를 사용할 수 있도록 하는 alias */
# alias vi='/usr/bin/vim'

/* 새로 만들어서 사용하는 alias */
# alias pps='ps -ef | head -1 ; ps -ef | $1'

기존 내장명령어와 alias함수의 이름이 동일하다면 alias가 실행된다(alias가 우선순위)

환경파일(Environment Files) -> 지속력을 가짐, 영구설정
- /etc/profile
- $HOME/.bash_profile ($HOME/.bash_login, $HOME/.profile)
// 위 두개는 로그인시 한번만 실행
- $HOME/.bashrc // 사용자가 쓰는 파일이다(사용자 홈폴더 밑에 있으니깐)
// 배시쉘이 실행 될 때 마다 실행

- $HOME/.bash_logout
-------------------------------------------------------
/etc/profile -> $HOME/.bashprofile -> $HOME/.bashrc
로그인 시 이 순서에 맞춰 실행됨
/etc/profile : 관리자가 쓰는 설정 파일
$HOME/.bash_profile, $HOME/.bashrc : 사용자 설정 파일

/etc/profile, $HOME/.bash_profile : 로그인 시 1번 실행
$HOME/.bashrc : 쉘이 실행될 때 마다 실행
--------------------------------------------------------
RedHat 계열
- /etc/profile
-> 실행시 /etc/profile.d/*.sh가 실행되도록 되어있음
- $HOME/.bash_profile
$HOME/.bashrc
/etc/bashrc
/etc/profile.d/*.sh
- $HOME/.bashrc
/etc/bashrc
/etc/profiled./*.sh

ctrl + shift + n (new window[새로운 터미널을 새로운 창에 띄울 때])

14장 프로세스 관리
프로세스 관리(Process Administration)
프로세스 정보(/proc/PID)
PID, PPID
[참고] init daemon(PID=1) -> 커널이 실행하는 첫번째 프로세서, 얘가 다른애를 실행함
[참고] daemon
프로세스 관리(Process Administration)
프로세스 실행
fg) (포그라운드) # ls (# gedit)
bg) (백그라운드) # ls & (# gedit &)
[실무예] CMD & 수행하는 경우
- 오래 걸리는 프로그램 실행시(백업 스크립트, 데이터 수집 스크립트)
- GUI 프로그램 실행시(EX: gedit &)
프로세스 확인
# ps -ef | grep xinetd
# ps aux | grep xinetd

# ps -e(every processor)
# ps -f(full listing) -> 프로세스 정보를 자세히
# ps -l -> 정보를 자세히
# ps -lf -> 정보를 더 자세히
# ps -ef(프로세스의 전체프로세스의 정보를 자세히 보겠다)
# ps a(터미널에서 사용자가 실행시킨 프로그램)
# ps u(사용자가 실행한 정보가 자세히 나옴)
# ps x(사용자가 실행한것 뿐 아니라 실행되기전까지(tty부분에 ?로 되있는 것)
전체 프로세스에 대한 정보가 나옴) -> ?를 자세히 보기 위해 보통 ps u를 같이 붙인다.

[참고] 좀비프로세스(Zombie)
종료 됬어야 됬는데 종료되지 않은 것들
ex) 프로그램 버그, 오동작
# ps -elf | awk '$2 == "Z" {print $0 [파일라인 전체출력!]}'
# kill -9 PID
프로세스 종료
# kill -15 PID (# kill -TERM PID)
# kill -9 PID (# kill -KILL PID)
# kill -2 PID (# kill -INT[interrupt] PID)
# kill -1 PID (# kill -HUP PID)

[참고] killall, pkill -> 같은 이름을 가진 프로세스를 한꺼번에 종료하기 위해 사용
# killall httpd
# pkill httpd

잡 관리(Job Adminstration)
잡(Job) 실행
fg) # gedit
bg) # gedit &
포그라운드 : 하나씩만 실행 가능(하나가 끝나야 다음 명령어 실행)
백그라운드 : 여러개 실행 가능(별도로 확인하는 커맨드가 따로 필요함)
-> 확인하는 커맨드로 jobs가 있음
잡(Job) 확인
# jobs

# fg %1
# bg %1
잡(Job) 종료


# kill %1
프로세스 모니터링
# top (# gnome-system-monitor)
# top -u oracle
* uptime
* ps -ef
* CPU
* MEM
* SWAP
* Process

[실무예]
# top -> htop(x)[설치 안되있음](cpu,메모리 I/O 확인할 때 씀)
# iotop Disk I/O -> Disk I/O
(X) # ntop -> Network I/O

프로세스 관련 명령어
lsof CMD
# lsof /usr/sbin/ssh
# lsof -c sshd //데몬 이름지정
# lsof -p PID // PID 지정
# lsof -i // 소켓에 대한 정보
pmap CMD
# pmap PID
pstree CMD
# pstree
# pstree PID
# pstree user01
# pstree -alup

'정보보안과정 > 리눅스 기초' 카테고리의 다른 글

15장 원격접속과 파일접속  (0) 2019.09.04
쉘특성  (0) 2019.09.02
190827  (0) 2019.09.02