I will be describing some of the process management commands I went through and researched in this post
# nice
▶ 설명
nice 명령어는 수정된 스케줄링 우선 순위로 프로그램/프로세스를 실행하는 데 도움이 됩니다. 사용자 정의 예약 우선 순위를 사용하여 프로세스를 시작합니다. 이 경우 프로세스에 더 높은 우선 순위를 부여하면 커널이 해당 프로세스에 더 많은 CPU 시간을 할당합니다.
▶ 사용법
nice [-n increment] command [arguments]
▶ 옵션
옵션 | 내용 |
---|---|
-n increment | 새 프로세스에 대한 우선 순위를 지정할 수 있으며 증가 값은 -20과 19 사이의 정수 값이 될 수 있습니다. |
▶ 실습
- 예제1:
다음 명령어는 우선 순위 수준 10에서 find
명령어를를 시작합니다:
nice -n 10 find / -name file.txt
기본값 0
보다 낮은 우선 순위인 10
의 우선 순위로 프로그램이 시작됩니다.
- 예제2:
기본값으로 프로그램 실행합니다:
nice yum update
- 예제3:
우선 순위 수준이 다른 여러 명령어들을 시작합니다:
nice -n -10 find / -name f1.txt & nice -n 10 yum update
# renice
▶ 설명
renice 명령어를 사용하면 이미 실행 중인 프로세스의 예약 우선 순위를 변경하고 수정할 수 있습니다. 리눅스 커널은 프로세스를 예약하고 그에 따라 CPU 시간을 할당합니다.
▶ 사용법
renice priority [-p PID | -g pgrp | -u user] [ -t ]
▶ 옵션
옵션 | 내용 |
---|---|
-p | -p 옵션은 우선 순위를 변경할 프로세스의 프로세스 ID를 지정하는 데 사용됩니다 |
-g | -g 옵션은 프로세스 그룹 ID를 지정하는 데 사용됩니다 |
-u | -u 옵션은은 프로세스의 사용자 이름을 지정하는 데 사용됩니다. |
-t | -t 옵션은 지정된 프로세스의 모든 프로세스와 모든 하위 프로세스에 영향을 미치는 데 사용됩니다. |
▶ 실습
- 예제1:
PID
가 1234
인 프로세스의 우선 순위를 -5
로 변경합니다:
renice -n -5 -p 1288
1288 (process ID) old priority 0, new priority -5
- 예제2:
사용자 johndoe
에 속하는 모든 프로세스의 우선 순위를 10
으로 변경합니다:
renice -n 10 -u s1
1001 (user ID) old priority 0, new priority 10
- 예제3:
프로세스 그룹 1234
의 모든 프로세스 우선 순위를 5
로 변경합니다:
renice -n -5 -g 1288
1288 (process group ID) old priority -5, new priority -5
- 예제4:
PID
가 1234
인 프로세스의 모든 하위 프로세스의 우선 순위를 -10
으로 변경합니다:
renice -n -10 -p 1288 -t
1288 (process ID) old priority -10, new priority -10
- 예제5:
시스템에서 실행 중인 모든 프로세스의 우선 순위를 19
로 변경합니다:
renice -n 19 -p 0
0 (process ID) old priority -10, new priority 19
# nohup
▶ 설명
nohup(No Hang Up)는 셸/터미널에서 로그아웃한 후에도 프로세스를 실행하는 Linux 시스템의 명령입니다. 이 명령은 일반적으로 완료하는 데 오랜 시간이 걸리는 프로세스를 시작하거나 사용자의 SSH 연결이 끊어진 경우에도 계속 실행되는 원격 서버에서 명령을 실행하는 데 사용됩니다.
▶ 사용법
nohup command [command-argument ...]
OR
nohup options
▶ 옵션
옵션 | 내용 |
---|---|
-f | 이 옵션을 선택하면 output이 표준 출력과 표준 오류를 모두 nohup.out 파일로 출력 합니다. |
-p | 이 옵션을 선택하면 옵션 뒤에 지정된 파일로 출력합니다. |
-d | 이 옵션을 선택하면 작업 디렉터리가 옵션 뒤에 지정된 디렉터리로 변경니다. |
-u | 이 옵션을 선택하면 output 출력을 현재 작업 디렉토리 대신 사용자의 홈 디렉토리에 있는 nohup.out 파일로 출력 합니다. |
▶ 실습
- 예제1:
다음은 옵션이 없는 nohup
명령어의 예입니다:
nohup random_command
- 예제2:
다음은 -f
옵션을 사용하는 nohup
명령어의 예입니다:
nohup -f long_running_command
- 예제3:
다음은 -p
옵션을 사용하는 nohup
명령어의 예입니다:
nohup -p myoutput.log long_running_command
- 예제4:
다음은 -d
옵션을 사용하는 nohup
명령어의 예입니다:
nohup -d /path/to/directory long_running_command
- 예제5:
다음은 -u
옵션을 사용하는 nohup
명령어의 예입니다:
nohup -u long_running_command
# pgrep
▶ 설명
pgrep명령어는 지정된 패턴과 일치하는 실행 중인 프로세스의 PID(프로세스 ID)를 검색하고 표시할 수 있는 Linux의 명령줄 유틸리티입니다. grep은 procps 패키지의 일부입니다.
▶ 사용법
pgrep [options] pattern
▶ 옵션
옵션 | 내용 |
---|---|
-n | 지정된 패턴과 일치하는 모든 프로세스의 최신 프로세스 ID만 표시합니다. |
-o | 지정된 패턴과 일치하는 모든 프로세스 ID만 표시합니다. |
-l | 지정된 패턴과 일치하는 프로세스 ID와 함께 프로세스 이름을 표시합니다. |
-v | 지정된 패턴과 일치하지 않는 모든 프로세스 ID를 표시합니다. |
-u | 특정 사용자 아래에서 실행 중인 모든 프로세스의 프로세스 ID를 표시합니다. |
-g | 특정 그룹에 실행 중인 모든 프로세스 ID를 표시합니다. |
-f | 명령줄 이름 또는 명령줄이 특정 단어로 시작하는 모든 프로세스의 모든 프로세스 ID를 표시합니다. |
-d | 출력에서 프로세스 ID 및 프로세스 이름을 구분합니다. |
▶ 실습
- 예제1:
bash
명령을 실행하는 프로세스의 PID
를 찾으려면 다음을 수행합니다:
pgrep bash
- 예제2:
HTTP
를 실행하는 모든 프로세스를 찾기 위해 다음을 수행합니다:
pgrep httpd
- 예제3:
다음은 -n
옵션을 사용하는 pgrep
명령어의 예입니다:
pgrep -n bash
- 예제4:
다음은 -o
옵션을 사용하는 pgrep
명령어의 예입니다:
pgrep -o bash
- 예제5:
다음은 -l
옵션을 사용하는 pgrep
명령어의 예입니다:
pgrep -l bash
- 예제6:
다음은 -v
옵션을 사용하는 pgrep
명령어의 예입니다:
pgrep -v bash
- 예제7:
다음은 -u
옵션을 사용하는 pgrep
명령어의 예입니다:
pgrep -u user1 bash
- 예제8:
다음은 -g
옵션을 사용하는 pgrep
명령어의 예입니다:
pgrep -g group1 bash
- 예제9:
다음은 -f
옵션을 사용하는 pgrep
명령어의 예입니다:
pgrep -f "my_command"
- 예제10:
다음은 -d
옵션을 사용하는 pgrep
명령어의 예입니다:
pgrep -d ':' -l bash
Top comments (0)