Linux commands related to process

2022. 4. 9. 03:12Programing 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 임

현재 bash의 NI값 -> 0
NI 값이 10으로 변경[nice는 조정값을 변경하면 새로운 프로세스가 생성됨]

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->특정사용자의 프로세스를 보여줌

ps는 PID TTY TIME CMD 기본적인 것만 나타냄

 

○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 : 커널에서 실행된 시간

 

cd d1 명령실행시 걸린 시간

○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