Linux 프로세스를 죽이려면 ID 또는 이름이 필요합니다. 당신이 아는 것은 그것이 사용하는 포트라면, 당신은 여전히 그것을 죽일 수 있습니까? 예, 여러 가지 방법으로.
살해 과정
때때로 a 리눅스 프로세스 응답이 없을 수 있습니다. 올바르게 작동을 중지하거나 계속 작동 할 수 있지만 종료 요청을 무시하거나 메모리를 시작하십시오. CPU 또는 네트워크 대역폭.
당신의 동기가 무엇이든, Linux 명령 줄에서 프로세스를 죽이는 방법이 있습니다. 고전적인 방법은 사용하는 것입니다
프로세스 ID로 명령을 처치하십시오
종료하려는 프로세스의. 그만큼
죽이다
명령에는 가까운 친척이 있습니다. 그만큼
pkill
명령은 이름으로 프로세스를 죽입니다
다 죽여
이름의 공유 부분을 찾을 수있는 모든 프로세스를 죽일 것입니다.
프로세스에 대해 아는 모든 것이 컴퓨터에 포트를 사용하는 것입니다. 여전히 식별하고 죽이는 방법이 있습니다. 네트워킹 용어로 "포트"는 끝에 플러그가있는 케이블을 삽입하는 물리적 연결을 의미 할 수 있습니다. CAT5 또는 6 네트워크 리드 또는 소프트웨어 포트를 의미 할 수 있습니다.
소프트웨어 포트는 네트워크 연결의 마지막 부분입니다. 그만큼 IP 주소 장치의 컴퓨터 또는 기타 네트워크 어플라이언스를 식별합니다. 컴퓨터 내부의 응용 프로그램은 다른 포트를 사용합니다. 이것들은 또 다른 수준의 세분성을 제공합니다. 네트워크 트래픽은 IP 주소를 사용하여 올바른 컴퓨터에 도착했으며 포트 주소를 사용하여 올바른 응용 프로그램으로 전달할 수 있습니다.
우편 메일이 호텔에 도착한 다음 적절한 방으로 분류하고 배달되는 것과 같습니다. IP 주소는 호텔의 거리 주소와 같으며 객실 번호는 포트 번호와 같습니다.
포트에서 네트워크 활동을보고 생성하는 프로세스를 인식하지 못하거나 행동이 문제가 있거나 의심 스럽다면 프로세스를 죽이고 싶을 수도 있습니다. 당신이 아는 것이 포트 번호라도 프로세스를 추적하고 죽일 수 있습니다.
Socat과 연결을 만듭니다
죽일 수있는 연결이 있도록 사용하겠습니다.
소사이어티
다른 프로토콜을 사용하여 네트워크 연결을 만듭니다. 설치해야합니다
소사이어티
. Ubuntu에 설치하려면이 명령을 사용하십시오.
구문
소사이어티
조금 긴 바람이라면 간단합니다. 소스 및 대상 주소를 제공해야합니다. 이들 각각에 대해 프로토콜, IP 주소 및 포트 번호를 제공해야합니다. 우리는 stdin 또는 stdout을 소스 또는 목적지로 대체 할 수 있습니다.
이 명령은 포트 7889의 TCP 청취 소켓, 루프백 IP 주소 127.0.0.1 및 stdout의 연결을 만듭니다. Ampersand "
& amp;
'
백그라운드에서 명령을 실행합니다
, 우리는 명령 줄에 대한 액세스를 유지합니다.
다른 프로토콜을 사용하여 작은 소켓을 선택할 수 있도록 두 개의 연결이 더 연결됩니다. 우리는 a를 만들 것입니다 UDP 연결 그리고 SCTP 연결 . 변경되는 명령의 유일한 부분은 프로토콜입니다.
킬 사용
물론 우리는 사용할 수 있습니다
죽이다
프로세스의 ID가 무엇인지 아는 한 프로세스를 종료합니다. PID를 찾기 위해 사용할 수 있습니다
그만큼
LSOF
명령
.
TCP 프로토콜을 사용하는 포트 7889의 프로세스 세부 사항을 나열하려면
-나
(인터넷 주소) 옵션, 이와 같은 옵션.
이 과정의 PID는 3141이며, 우리는 계속해서 사용할 수 있습니다.
죽이다
:
우리는 파이프를 사용하면 약간의 노력을 절약 할 수 있습니다. 우리가 출력을 파이프하면
LSOF
~ 안으로
어색한
그리고
말하다
어색한
관심있는 포트 (7889)가 포함 된 줄을 검색하고 해당 라인에서 두 번째 필드를 인쇄하려면 PID를 격리합니다.
그런 다음 출력을 파이프 할 수 있습니다
어색한
로
죽이다
사용 명령
Xargs
. 그만큼
Xargs
명령은 파이프 입력을 가져 와서 다른 명령으로 전달합니다.
명령 줄 매개 변수로
. 우리는 사용할 것입니다
Xargs
와 더불어
죽이다
명령.
우리는 시각적 피드백을 얻지 못합니다. 일반적인 Linux 방식에서는 좋은 소식이 없습니다. 프로세스가 종료되었는지 확인하려면 사용할 수 있습니다.
LSOF
한 번 더.
왜냐하면
LSOF
아무것도보고하지 않으며, 그러한 연결이 없다는 것을 알고 있습니다.
이전 명령에서 "TCP"를 "UDP"로 대체하여 UDP 프로토콜을 사용하여 프로세스를 제거 할 수 있습니다.
우리는 사용할 수 있습니다
그만큼
봄 여름 시즌
명령
하기 위해서. 우리는 사용 중입니다
-에스
(SCTP) SCTP 소켓을 검색하는 옵션,
-ㅏ
(모두) 모든 유형의 소켓 (듣기, 수락, 연결 등)을 검색하는 옵션 및
-피
(프로세스) 소켓을 사용하여 프로세스의 세부 사항을 나열하는 옵션.
우리는 해당 출력을 사용하여 구문 분석 할 수 있습니다
grep
그리고
어색한
. 우리는 또한 그것을 사용하여 구문 분석 할 수 있습니다
grep
그리고 일부 perl regexes이지만이 방법은 이해하기 훨씬 쉽습니다. 이것을 한두 번 또는 두 번 이상 사용하려고한다면 아마
별칭 또는 쉘 기능
그것에서.
우리는 출력을 파이프합니다
봄 여름 시즌
~ 안으로
grep
포트 번호 7889를 검색합니다. 우리는 출력을 파이프합니다.
grep
~ 안으로
어색한
. ~ 안에
어색한
, 우리는 그것을 사용하고 있습니다
-에프
(분리기 문자열) 쉼표를 설정하는 옵션“
,,
”필드 구분 기호로. 우리는 문자열을 검색합니다
포함
"pid =", 그리고 그 문자열에서 두 번째 쉼표로 분류 된 필드를 인쇄하십시오.
우리는 할 수 있습니다
파이프
그게
어색한
다시, 필드 구분 기호를 Equals 부호로 설정하십시오.
=
”그리고 두 번째 필드를 인쇄하십시오
저것
문자열, 이것은 평등 부호 뒤에있는 텍스트가 될 것입니다.
이제 프로세스 ID를 격리했습니다. 우리는 사용할 수 있습니다
Xargs
PID를 전달합니다
죽이다
명령 줄 매개 변수로.
이는 포트 7889에서 SCTP 프로토콜 소켓을 사용하는 프로세스를 죽인다.
퓨저 명령
그만큼
퓨저
명령은 물건을 크게 단순화합니다. 단점은, 만으로만 작동한다는 것입니다
TCP 및 UDP
소켓. 플러스 측면에서, 그것들은 당신이 다루어야 할 가장 일반적인 두 가지 유형의 소켓입니다. 그만큼
퓨저
명령은 이미 Ubuntu, Fedora 및 Manjaro 컴퓨터에 설치되었습니다.
당신이해야 할 일은
-케이
(킬) 옵션을 제공하고 포트 및 프로토콜을 제공하십시오. 당신은 그것을 사용할 수 있습니다
-N
(네임 스페이스) 옵션 및 프로토콜 및 포트를 제공하거나 "전방 슬래시 바로 가기 형식"을 사용하고 포트 번호를 먼저 올리십시오.
종료 프로세스의 포트 번호, 프로토콜 및 PID는 터미널 창에 인쇄됩니다.
먼저 Fuser를 사용해보십시오
작업중 인 컴퓨터에 설치 될 것이며 프로토콜은 TCP 또는 UDP 일 가능성이 높으므로 가장 간단한 방법이 효과가있을 가능성이 높습니다.
- › OnePlus 11은 여기에 있지만 거친 출발
- › Tiktok에서 누군가를 차단하거나 차단하는 방법
- › AirPods Pro는 새로운 경쟁을 가지고 있습니다 : OnePlus Buds Pro 2
- › Microsoft Edge는 AI 채팅과 Windows에서 새로운 모습을 얻고 있습니다.
- › iPhone 팬을위한 최고의 이어 버드는 최저 가격을 기록했습니다.
- › Microsoft는 Bing을 AI 검색 엔진으로 변환하고 있습니다