2022. 4. 9. 03:12ㆍPrograming Language/Linux
○at : 지정된 시간에 명령어나 프로그램을 실행시키는 명령어
설치 -> # apt-get install at
디렉토리 d1에 있는 test.c를 예약해 실행할 예정
1.예약시간설정
2.at 원하는 시간 날짜 일 작성
3.at > 예약할 프로그램 경로 -> ctrl+d를 눌러 빠져 나오면 job 1 at Fri Apr 8 09:21:00 2022이라고 예약 완료
옵션 -l을 넣어주면 예약작업확인[atp도 가능함]
atrm 작업번호 를 입력하면 해당 작업번호의 예약된 프로그램이 종료됨
추가옵션
-V->버전정보출력
-q->실행할 대기큐설정
-m->실행한결과 메일로전달
-f->설정한파일의 명령어읽음
-t->수행시간설정
-l->예약목록출력
-r, -d ->예약목록삭제
○chroot : 새로운 가상의 루트 디렉토리를 생성하여 보안성 강화
->원격서비스로 접속할경우 여기에 생성한 디렉토리에서 상위로 이동이 불가능
#chroot[새로운루트경로]
○crontab
○exit : 쉘을 종료하고 종료코드를 부모 프로세스에 전달하는 명령어
#exit[종료코드]
exit(0) -> 정상적종료, exit(1) -> 비정상적종료
-> 일반적으로 쉘을 종료할때 가장 많이 쓰는 것 같음
○kill : 현재 실행중인 프로세스를 강제 중지시키는 명령어
#kill[시그널번호][프로세스ID]
ex) #kill -9[프로세스ID] -> 강제종료
옵션
-s->프로세스 종료를 위한 시그널을 지정함
-l->kill 시그널 리스트를 확인
주요 시그널
1.SIGHUP->로그아웃 같이 세션이 종료될때 시스템에 내리는 시그널
2.SIGHINT->현재실행중인 프로세스의 동작을 중지할때 내리는 시그널[=ctrl+c]
9.SIGKILL->강제종료시그널
11.SIGSEGV->메모리침범시 시스템이 보내는 시그널
15.SIGTERM->실행중인 프로세스를 정상종료시키는 시그널
20.SIGTSTP->프로세스를 일시중지시키는 시그널[=ctrl+z]
○killall : 프로세스ID를 통해 프로세스를 종료시키는 kill과 달리 프로세스이름으로 종료하는 명령어
killall[옵션][name]
○pkill : 프로세스의 이름을 지정하여 프로세스를 종료
ex) #pkill ping
○sleep : 지정된 시간만큼 실행을 중지시키는 명령어
#sleep[시간] ex) sleep 1m 30s
s->초[default], m->분, h->시간, d->일
○nice : 프로세스가 실행될때 우선순위를 조정하는 명령어
#nice[-n 조정할값][프로세스] -> 조정할 값이 defualt일때 nice값은 0 임
cf)root만 우선순위값을 감소할 수 있음[범위:-20~19]
nice는 실행전 process의 NI값을 조정하여 process를 실행시키지만 renice는 이미 실행중인 process의 NI값을 조정함 ->우선순위 값을 조정했다해도 nice처럼 새로운 프로세스 생성안됨
○pgrep : 프로세스를 이름기반으로 검색하는 명령어
pgrep[옵션]패턴
옵션
-x : 패턴과 정확히 일치하는 프로세스의 정보를 출력함
-n : 패턴을 포함하고 있는 가장 최근 프로세스의 정보를 출력함
-u 사용자명: 특정 사용자에 대한 모든 프로세스를 출력함
-l: PID 와 프로세스 이름을 출력함
-t term : 특정 단말기와 관련된 프로세스의 정보를 출력함
○pidof : 실행중인 프로세스 ID를 찾는 명령어
#pidof[옵션]프로그램이름
bash프로세스의 pid들을 출력함
○ps : 현재실행중인 프로세스의 목록, 상태를 보여주는 명령어
ps[옵션]
옵션
-e->모든 프로세스 출력
-f->풀 포맷으로 보여줌[ex)UID, GID, PID]
-l->긴 포맷으로 보여줌
-p->특정PID의 프로세스를 보여줌
-u->특정사용자의 프로세스를 보여줌
○pstree : 실행되고 있는 프로세스들간의 연결구조를 트리형식으로 보여주는 명령어
#pstree [옵션][유저, PID]
systemd─┬─ModemManager───2*[{ModemManager}]
├─NetworkManager───2*[{NetworkManager}]
├─VGAuthService
├─accounts-daemon───2*[{accounts-daemon}]
├─acpid
├─apache2───2*[apache2───26*[{apache2}]]
├─atd
├─avahi-daemon───avahi-daemon
├─bluetoothd
├─colord───2*[{colord}]
├─cron
├─cups-browsed───2*[{cups-browsed}]
├─cupsd
├─dbus-daemon
├─fprintd───4*[{fprintd}]
옵션
-t->전체 쓰레드 이름표시
-T->쓰레드를 숨기고 프로세스만표시
-s->지정된 상위프로세스표시
-p->PID표시
-h->현재프로세스, 상위프로세스 강조표시
○time : 명령어 수행 시간을 측정하는 명령어
#time[실행할 명령어]
real : 명령실행시 실제소요시간
user : 사용자영역에서 실행된 시간
sys : 커널에서 실행된 시간
○top : 실시간으로 CPU 사용률 체크 명령어
10:55->현재서버시간
1user->사용자1명접속
load average->부화율
Tasks->299개의프로세스 가동중
1running->1개의프로세스 실행중
299sleeping->299개의프로세스 대기중
0 stopped, 0 zombie
%us->유저 레벨에서 사용하고 있는 CPU의 비중
%sy->시스템 레벨에서 사용하고 있는 CPU비중
%id->유휴 상태의 CPU 비중
%wa->시스템이 I/O 요청을 처리하지 못한 상태에서의 CPU idle 상태인 비중
PID->프로세스 ID (PID)
USER->프로세스를 실행시킨 사용자 ID
PRI->프로세스의 우선순위 (priority)
NI->NICE 값. 일의 nice value값이다. 마이너스를 가지는 nice value는 우선순위가 높음
VIRT->가상 메모리의 사용량(SWAP+RES)
RES->현재 페이지가 상주하고 있는 크기(Resident Size)
SHR->분할된 페이지, 프로세스에 의해 사용된 메모리를 나눈 메모리의 총합
S->프로세스의 상태 [ S(sleeping), R(running), W(swapped out process), Z(zombies) ]
%CPU->프로세스가 사용하는 CPU의 사용율
%MEM->프로세스가 사용하는 메모리의 사용율
COMMAND->실행된 명령어
reference check : https://ironmask84.tistory.com/355
'Programing Language > Linux' 카테고리의 다른 글
특수 권한 [SETUID, SETGID, STICKY BIT] (0) | 2022.05.12 |
---|---|
whereis & $PATH & background (0) | 2022.04.11 |
Linux commands related to network (0) | 2022.04.08 |
Linux commands related to document (0) | 2022.04.08 |
Linux commands related to search (0) | 2022.04.08 |