웹사이트 검색

초보자를 위한 Linux killall 명령(예제 8개)


이 페이지에서

  1. Linux killall 명령
  2. Q1. killall 명령을 사용하는 방법?\n
  3. Q2. killall은 대/소문자를 구분합니까?\n
  4. Q3. killall이 프로세스를 종료하기 전에 묻게 만드는 방법은 무엇입니까?\n
  5. Q4. killall이 처리할 신호를 선택하는 방법은 무엇입니까?\n
  6. Q5. 지정된 프로세스가 존재하지 않는 경우 killall이 불평하는 것을 방지하는 방법은 무엇입니까?\n
  7. Q6. 사용자가 소유한 모든 프로세스를 종료하는 방법은 무엇입니까?\n
  8. Q7. 시간에 따라 프로세스를 종료하는 방법은 무엇입니까?\n
  9. Q8. killall이 프로세스가 종료된 후에만 반환되도록 하는 방법은 무엇입니까?\n
  10. 결론

Linux에서 프로세스를 종료하려는 경우에 사용할 수 있는 Linux kill 명령에 대해서는 이미 논의했습니다. 그러나 같은 목적으로 사용할 수 있는 또 다른 명령줄 유틸리티인 killall이 있습니다. 이 자습서에서는 이해하기 쉬운 몇 가지 예를 사용하여 이 명령의 기본 사항에 대해 설명합니다.

하지만 그 전에 이 튜토리얼에 포함된 모든 예제는 Ubuntu 22.04 LTS에서 테스트되었음을 언급할 가치가 있습니다.

리눅스 killall 명령

killall 명령을 사용하면 이름으로 프로세스를 종료할 수 있습니다. 다음은 도구 구문입니다.

killall [OPTIONS] name

매뉴얼 페이지에서 도구를 설명하는 방법은 다음과 같습니다.

killall sends a signal to all processes running any of the specified commands. If no signal name is specified, SIGTERM is sent. Signals can be specified either by name (e.g.  -HUP or -SIGHUP) or by number (e.g.  -1) or by option -s.

If  the command name is not regular expression (option -r) and contains a slash (/), processes executing that particular file will be  selected for killing, independent of their name.

killall returns a zero return code if at least one process has been killed for each listed command, or no commands were listed and at least one process matched the -u and -Z search criteria. killall returns non-zero otherwise.

A killall process never kills itself (but may kill other  killall  processes).

다음 Q&A 스타일의 예는 killall 명령의 작동 방식에 대한 더 나은 아이디어를 제공합니다.

Q1. killall 명령을 사용하는 방법?

도구의 기본 사용법은 매우 쉽습니다. 프로세스 이름을 killall에 인수로 전달하기만 하면 됩니다. 예를 들어, 시스템에서 실행 중인 gthumb 프로세스를 종료하기 위해 다음과 같은 방법으로 killall을 사용했습니다.

killall gthumb

프로세스의 정확한 이름을 모르는 경우 ps 명령을 사용하여 이 정보를 가져올 수 있습니다.

Q2. killall은 대/소문자를 구분합니까?

예, 그렇습니다. 사용자가 올바른 대소문자로 프로세스 이름을 쓰지 못하면 프로세스를 찾을 수 없음 오류가 발생합니다. 다음은 예입니다.

그러나 원하는 경우 -I 명령줄 옵션을 사용하여 killall이 대소문자를 무시하도록 강제할 수 있습니다.

Q3. killall이 프로세스를 종료하기 전에 묻게 만드는 방법은 무엇입니까?

killall 명령이 프로세스를 종료하기 전에 사용자 권한을 요청하도록 하려면 -i 명령줄 옵션을 사용할 수 있습니다. 이렇게 하면 killall 작업이 상호 작용하게 됩니다.

예를 들어:

Q4. killall이 처리할 신호를 선택하는 방법은 무엇입니까?

기본적으로 killall이 프로세스에 보내는 SIGTERM 신호입니다. 그러나 다른 신호도 보낼 수 있습니다. -s, --signal 및 -SIGNAL 옵션을 사용하여 다른 신호를 보낼 수 있습니다.

그러나 이것이 작동하려면 killall 명령이 보낼 수 있는 모든 신호를 알아야 합니다. 이것은 -l 명령줄 옵션을 사용하여 수행할 수 있습니다.

killall -l

다음은 앞서 언급한 명령이 시스템에서 생성된 목록입니다.

Q5. 지정된 프로세스가 존재하지 않는 경우 killall이 불평하는 것을 방지하는 방법은 무엇입니까?

이름이 "killall"로 전달된 프로세스가 실행 중이 아닌 경우(존재하지 않는 경우) 도구는 이를 사용자에게 출력으로 전달합니다.

그러나 도구에서 이러한 출력을 생성하지 않으려면 -q 명령줄 옵션을 사용할 수 있습니다.

따라서 -q를 사용했을 때 killall 명령이 조용히 유지되는 것을 볼 수 있습니다.

Q6. 사용자가 소유한 모든 프로세스를 종료하는 방법은 무엇입니까?

요구 사항이 특정 사용자가 소유한 모든 프로세스를 종료하는 것이라면 killall에서 제공하는 -u 옵션을 사용할 수 있습니다. 말할 필요도 없이 이 옵션을 사용하려면 사용자의 사용자 이름을 입력으로 지정해야 합니다.

killall -u [user-name]

예를 들어:

killall -u himanshu

Q7. 시간에 따라 프로세스를 종료하는 방법은 무엇입니까?

현재 5시간 이상 실행 중인 모든 프로세스를 종료하려는 경우 다음과 같은 방법으로 -o 옵션을 사용하여 이를 수행할 수 있습니다.

killall -o 5h

물론 모든 프로세스를 종료하지 않으려면 프로세스 이름을 지정할 수 있습니다. 마찬가지로, 예를 들어 4시간 미만의 프로세스를 종료하려는 경우 -y 명령줄 옵션을 사용하여 이를 수행할 수 있습니다.

killall -y 4h

매뉴얼 페이지에서 이러한 옵션을 설명하는 방법은 다음과 같습니다.

-o, --older-than
              Match only processes that are older (started  before)  the  time
              specified.   The  time is specified as a float then a unit.  The
              units are  s,m,h,d,w,M,y  for  seconds,  minutes,  hours,  days,
              weeks, Months and years respectively.

 -y, --younger-than
              Match  only  processes that are younger (started after) the time
              specified.  The time is specified as a float then a  unit.   The
              units  are  s,m,h,d,w,M,y  for  seconds,  minutes,  hours, days,
              weeks, Months and years respectively.

Q8. killall이 프로세스가 종료된 후에만 반환되도록 하는 방법은 무엇입니까?

신호가 killall에 의해 프로세스에 전달된 후 프로세스가 종료된 후에만 명령이 반환되도록 하려면 killall이 대기하도록 하는 -w 명령줄 옵션을 사용하여 이 작업을 수행할 수 있습니다.

killall -w [process-name]

매뉴얼 페이지에서 이 옵션을 설명하는 방법은 다음과 같습니다.

-w, --wait
              Wait  for  all killed processes to die.  killall checks once per
              second if any of the  killed  processes  still  exist  and  only
              returns if none are left.  Note that killall may wait forever if
              the signal was ignored, had no effect, or if the  process  stays
              in zombie state.

결론

Killall은 초보자를 위한 식은 죽 먹기가 아닐 수도 있지만 그다지 복잡하지도 않습니다. 제공되는 명령줄 옵션을 연습해야 합니다. 우리는 그들 중 대부분을 논의했으므로 이 자습서는 좋은 출발점이 될 것입니다. 이 작업을 마치면 매뉴얼 페이지로 이동하여 명령에 대한 자세한 내용을 읽을 수 있습니다.