>시스템 튜토리얼 >리눅스 >Linux의 명령줄에서 프로세스를 어떻게 종료합니까?

Linux의 명령줄에서 프로세스를 어떻게 종료합니까?

王林
王林앞으로
2024-03-23 14:50:031091검색

Linux 명령줄에는 실행 중인 프로세스를 중지하는 데 필요한 모든 도구가 있습니다. Jack Wallen이 자세한 내용을 알려줍니다.
Linux의 명령줄에서 프로세스를 어떻게 종료합니까?

상상해 보십시오. (데스크톱 메뉴나 명령줄에서) 프로그램을 열고 프로그램을 사용하기 시작하면 프로그램이 예기치 않게 작동 중지되거나 실행이 중지되거나 충돌할 것으로 예상되지 않습니다. 프로그램을 다시 실행하려고 시도했지만 원래 프로세스가 완전히 종료되지 않았다고 보고합니다.

어떻게 해야 하나요? 프로세스를 종료하고 싶습니다. 하지만 어떻게? 믿거나 말거나, 최고의 솔루션은 대부분 명령줄에 있습니다. 다행히도 Linux에는 사용자가 잘못된 프로세스를 종료하는 데 필요한 모든 도구가 있습니다. 그러나 프로세스를 종료하는 명령을 실행하기 전에 먼저 프로세스가 무엇인지 알아야 합니다. 이러한 유형의 작업을 처리하는 방법. 이 도구를 익히고 나면 실제로는 매우 간단합니다...

제가 설명한 단계는 데스크탑이든 서버이든 모든 Linux 배포판에 적용 가능합니다. 저는 명령줄로만 제한할 예정이므로 터미널을 열고 명령을 입력해 보세요.

위치 프로세스

응답하지 않는 프로세스를 종료하는 첫 번째 단계는 프로세스를 찾는 것입니다. 프로세스를 찾는 데 사용하는 두 가지 명령은 top과 ps 명령입니다. top은 시스템 관리자라면 누구나 알고 있는 도구입니다. top 명령을 사용하면 현재 실행 중인 모든 프로세스를 알 수 있습니다. 명령줄에 top 명령을 입력하여 실행 중인 프로그램 프로세스를 확인합니다(그림 1)

Linux의 명령줄에서 프로세스를 어떻게 종료합니까?

그림 1: top 명령은 많은 정보를 제공합니다.

표시된 목록에서 매우 중요한 정보를 볼 수 있습니다. 예를 들어 Chrome 브라우저의 응답 속도가 느립니다. 상위 명령에 따르면 실행 중인 Chrome 브라우저 프로세스 4개를 식별할 수 있으며 프로세스의 pid는 3827, 3919입니다. , 10764 및 11679입니다. 이 정보는 중요하며 프로세스를 종료하기 위해 특별한 방법으로 사용될 수 있습니다.

top 명령은 매우 편리하지만 원하는 정보를 얻는 가장 효율적인 방법은 아닙니다. 어떤 Chrome 프로세스를 종료할지 알고 있으며 top 명령으로 표시되는 실시간 정보를 보고 싶지 않습니다. 이러한 이유로 ps 명령을 사용한 다음 grep 명령을 사용하여 출력을 필터링할 수 있습니다. ps 명령은 현재 프로세스 목록의 스냅샷을 표시한 다음 grep 명령을 사용하여 일치하는 패턴을 출력합니다. grep 명령을 통해 ps 명령의 출력을 필터링하는 이유는 간단합니다. ps 명령만 입력하면 현재 모든 프로세스 목록의 스냅샷을 얻을 수 있으며 필요한 것은 Chrome 브라우저 프로세스를 나열하는 것입니다. 관련된. 따라서 명령은 다음과 같습니다.

으아악

여기서 Aux 옵션은 다음과 같습니다:

  • a = 모든 사용자에게 프로세스 표시
  • u = 프로세스의 사용자와 소유자 표시
  • x = 터미널에 연결되지 않은 프로세스도 표시합니다

이 x 매개변수는 그래픽 프로그램에 대한 정보를 검색할 때 중요합니다.

위 명령어를 입력하면 그림 2보다 더 많은 정보를 얻을 수 있고, 때로는 top 명령어보다 더 효과적일 때도 있습니다.

Linux의 명령줄에서 프로세스를 어떻게 종료합니까?

그림 2: ps 명령을 사용하여 필요한 콘텐츠 정보를 찾습니다.

프로세스 종료

现在我们开始结束进程的任务。我们有两种可以帮我们杀死错误的进程的信息。

  • 进程的名字
  • 进程的 ID (PID)

你用哪一个将会决定终端命令如何使用,通常有两个命令来结束进程:

  • kill - 通过进程 ID 来结束进程
  • killall - 通过进程名字来结束进程

有两个不同的信号能够发送给这两个结束进程的命令。你发送的信号决定着你想要从结束进程命令中得到的结果。举个例子,你可以发送 HUP(挂起)信号给结束进程的命令,命令实际上将会重启这个进程。当你需要立即重启一个进程(比如就守护进程来说),这是一个明智的选择。你通过输入 kill -l 可以得到所有信号的列表,你将会发现大量的信号。

Linux의 명령줄에서 프로세스를 어떻게 종료합니까?

图 3: 可用的结束进程信号。

最经常使用的结束进程的信号是:

好的是,你能用信号值来代替信号名字。所以你没有必要来记住所有各种各样的信号名字。

所以,让我们现在用 kill 命令来杀死 Chrome 浏览器的进程。这个命令的结构是:

kill SIGNAL PID

这里 SIGNAL 是要发送的信号,PID 是被杀死的进程的 ID。我们已经知道,来自我们的 ps 命令显示我们想要结束的进程 ID 号是 3827、3919、10764 和 11679。所以要发送结束进程信号,我们输入以下命令:

kill -9 3827
kill -9 3919
kill -9 10764
kill -9 11679

一旦我们输入了以上命令,Chrome 浏览器的所有进程将会成功被杀死。

我们有更简单的方法!如果我们已经知道我们想要杀死的那个进程的名字,我们能够利用 killall 命令发送同样的信号,像这样:

killall -9 chrome

附带说明的是,上边这个命令可能不能捕捉到所有正在运行的 Chrome 进程。如果,运行了上边这个命令之后,你输入 ps aux | grep chrome 命令过滤一下,看到剩下正在运行的 Chrome 进程有那些,最好的办法还是回到 kIll 命令通过进程 ID 来发送信号值 9 来结束这个进程。

结束进程很容易

正如你看到的,杀死错误的进程并没有你原本想的那样有挑战性。当我让一个顽固的进程结束的时候,我趋向于用 killall命令来作为有效的方法来终止,然而,当我让一个真正的活跃的进程结束的时候,kill命令是一个好的方法。


위 내용은 Linux의 명령줄에서 프로세스를 어떻게 종료합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 linuxprobe.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제