Linux에서 ps 명령을 사용하여 프로세스를 종료하는 방법 1

Linux에서 ps 명령을 사용하여 프로세스를 종료하는 방법

작업할 때 가끔 프로그램이 갑자기 정지됩니다. 다른 경우에는 프로그램이 계속 실행되지만 프로세서나 메모리 사용량이 많습니다. 다음을 사용하여 Linux에서 이 문제를 해결하는 방법이 있습니다. ps (과정 에스tatus) 명령. 여기서 우리는 ps Linux에서 명령을 실행하여 현재 실행 중인 프로세스와 해당 PID를 나열합니다. 그런 다음 리소스를 소비하는 프로세스를 찾아 죽일 수 있습니다.

“ps” 명령 사용

그만큼 ps 명령 자체를 사용할 수 있습니다. 4개 열의 정보를 출력합니다.

  • PID: 시스템에서 정의한 프로세스의 고유 식별자입니다. 프로세스를 중지하는 데 사용하는 값입니다.
  • TTY: 프로세스가 시작된 터미널입니다.
  • 시각: 프로세스가 사용한 총 CPU 시간입니다.
  • CMD: 프로세스를 생성하는 명령

옵션 없이 명령을 사용하면 많은 정보가 표시되지 않습니다. 다음은 더 유용하게 사용할 수 있는 몇 가지 방법입니다.

1. 모든 사용자의 프로세스 나열

일부 프로그램이 설치될 때 프로세스를 실행하기 위해 일부 추가 사용자를 생성하기도 합니다. 사용자의 프로세스를 나열하려면 -e 옵션:

ps -e

출력:

PID TTY          TIME CMD
1 ?        00:00:02 systemd
2 ?        00:00:00 kthreadd
3 ?        00:00:00 kworker/0:0
4 ?        00:00:00 kworker/0:0H
5 ?        00:00:00 kworker/u256:0
6 ?        00:00:00 mm_percpu_wq

2. 자세한 정보가 포함된 목록 프로세스

실행 중인 프로세스를 나열하면 더 많은 정보를 얻을 수 있습니다. 이렇게 하려면 다음을 사용할 수 있습니다. ef 옵션.

ps -ef

출력:

UID         PID   PPID  C STIME TTY          TIME CMD
root          1      0  0 21:34 ?        00:00:03 /sbin/init maybe-ubiquity
root          2      0  0 21:34 ?        00:00:00 [kthreadd]
root          3      2  0 21:34 ?        00:00:00 [kworker/0:0]
root          4      2  0 21:34 ?        00:00:00 [kworker/0:0H]
root          6      2  0 21:34 ?        00:00:00 [mm_percpu_wq]
root          7      2  0 21:34 ?        00:00:00 [ksoftirqd/0]

3. 프로세스 ID로 프로세스 필터링

표시하려는 실행 중인 프로세스의 프로세스 ID를 알고 있는 경우 다음을 사용하여 구체적으로 필터링할 수 있습니다. -p 깃발. 공백 없이 단일 쉼표로 구분된 여러 PID를 인수로 사용할 수 있습니다.

ps -ef -p 1234,5678,9012

4. 사용자가 소유한 프로세스 나열

다음을 사용하여 사용자가 소유한 프로세스를 나열할 수도 있습니다. u 옵션 다음에 사용자 이름:

ps -u userName

출력:

PID TTY          TIME CMD
2832 ?        00:00:00 systemd
2842 ?        00:00:00 (sd-pam)
3043 ?        00:00:00 sshd
3044 pts/1    00:00:00 bash
18396 pts/1    00:00:00 ps

5. 활성 프로세스 나열

다음을 사용하여 활성 상태인 모든 프로세스를 나열할 수 있습니다. ax 옵션:

ps -ax

출력:

PID TTY      STAT   TIME COMMAND
1 ?        Ss     0:02 /sbin/init maybe-ubiquity
2 ?        S      0:00 [kthreadd]
3 ?        I      0:00 [kworker/0:0]
4 ?        I<     0:00 [kworker/0:0H]
6 ?        I<     0:00 [mm_percpu_wq]
7 ?        S      0:00 [ksoftirqd/0]

6. 사용자와 함께 활성 프로세스 나열

다음을 추가할 때 사용자와 함께 모든 활성 프로세스를 나열할 수 있습니다. -aux 깃발:

ps -aux

출력:

USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.2  78132  9188 ?        Ss   21:34   0:02 /sbin/init maybe-ubiquity
root          2  0.0  0.0      0     0 ?        S    21:34   0:00 [kthreadd]
root          3  0.0  0.0      0     0 ?        I    21:34   0:00 [kworker/0:0]
root          4  0.0  0.0      0     0 ?        I<   21:34   0:00 [kworker/0:0H]
root          6  0.0  0.0      0     0 ?        I<   21:34   0:00 [mm_percpu_wq]
root          7  0.0  0.0      0     0 ?        S    21:34   0:00 [ksoftirqd/0]
root          8  0.0  0.0      0     0 ?        I    21:34   0:00 [rcu_sched]
root          9  0.0  0.0      0     0 ?        I    21:34   0:00 [rcu_bh]
root         10  0.0  0.0      0     0 ?        S    21:34   0:00 [migration/0]

7. 프로그램 이름으로 프로세스 필터링

필터를 적용하여 실행 중인 특정 프로그램에 대한 정보를 검색할 수 있습니다. ps 결과:

ps -aux | grep docker

출력:

root       1508  0.0  2.2 1518156 90868 ?       Ssl  21:34   0:03 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
userkub+  18429  0.0  0.0  13144  1108 pts/1    S+   23:57   0:00 grep --color=auto docker

또는 다음을 사용할 수도 있습니다. C 이름으로 프로세스를 필터링하는 옵션:

ps -C name
Linux C 플래그에서 Ps 사용

8. 특정 열 표시

4개의 기본 열 외에도 다음을 얻을 수 있습니다. ps 추가 정보 열을 표시합니다. 예를 들어:

ps -e -o pid,uname,pcpu,pmem,comm
Linux O 플래그에서 Ps 사용

그만큼 -o 플래그에 대한 특정 출력 표시 옵션을 설정합니다. ps 명령어 결과. 전체 목록 보기 ps의 표준 디스플레이 옵션.

9. 계층적 트리 스타일로 결과 표시

ps -e --forest

ASCII 아트를 사용하여 프로세스를 표시하기 위한 트리 스타일 구조를 만듭니다. 분기 및 하위 프로세스를 적절한 상위 프로세스의 하위 프로세스로 표시하고 일치하도록 정렬합니다. 트리의 “가지”를 숨기려면 다음을 사용하십시오. -H 대신에 --forest.

10. 디스플레이 프로세스 스레드

ps -p 4041 -L
Linux L 스레드 플래그에서 Ps 사용

그만큼 -L 플래그는 ps의 모든 기능에 대해 스레드된 디스플레이를 토글합니다. 특정 프로세스의 스레드를 추적할 때 가장 유용합니다.

11. 모든 루트 프로세스 표시

ps -f -U root -u root
Linux 루트 프로세스 2에서 Ps 사용

실제적이고 효과적인 루트 식별로 실행 중인 모든 프로세스에 대한 검색을 실행합니다. 덕분에 전체 길이 형식으로 표시됩니다. -f 깃발. 당신은 그것을 결합 할 수 있습니다 -o 출력을 사용자 지정하는 플래그입니다.

프로세스를 중지하려면 kill 명령을 사용하십시오.

오작동하는 프로세스를 찾으면 kill 명령을 사용하여 실행 중인 프로세스를 종료할 수 있습니다. 이 명령은 종료하는 프로세스에 신호를 보냅니다. 프로그램이 중지되면 대부분의 경우 강제로 프로그램을 종료해야 합니다. -9 옵션.

출력 명령 1 종료

ps의 출력은 인스턴트 뷰입니다. 같지 않은 htop, 동적으로 업데이트되지 않습니다. 이것은 어떤 프로세스가 오작동하는지 명확하게 파악하기 위해 여러 번 실행해야 할 수도 있음을 의미합니다. 프로세스의 최신 보기를 얻으려면 Linux 시스템에 대한 몇 가지 다른 명령을 시도할 수 있습니다.

알랭 프랑수아

오픈 소스 환경에 대한 열정과 다양한 IT 솔루션 및 클라우드 환경에 대한 설치, 배포 작업에 열정을 가진 Linux 시스템 관리자입니다. 내가 발견하고 사용할 수 있는 기술에 대한 지식을 공유하고 싶습니다.

우리의 활동을 지원해주세요 ❤️

이 글이 마음에 드셨다면, 앞으로도 좋은 콘텐츠를 계속 발행할 수 있도록 팁을 남겨주세요.

페이팔로 안전하게 결제
Moyens I/O Staff는 당신에게 도움이 될 기술, 개인 개발, 라이프스타일 및 전략에 대한 팁을 제공하여 당신에게 동기를 부여했습니다.