xargs를 사용하여 바로가기 명령을 만들어야 합니다.

xargs를 사용하여 바로가기 명령을 만들어야 합니다.

나는 항상 포트 3000에서 수신 대기 중인 프로세스 ID를 종료하고 싶습니다. 그래서 현재는 다음을 사용하고 있습니다.

1.lsof -i tcp:3000

다음과 같이 출력됩니다.

COMMAND  PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
ruby    6697   xxxx   5u  IPv4 251982      0t0  TCP *:3000 (LISTEN)

2를 사용하여 PID를 종료하겠습니다
.kill -9 6697

이 프로세스를 자동으로 수행하는 bash 프로그램을 만들고 싶습니다.

첫 번째 명령 출력의 PID를 얻기 위해 xargs를 사용하려고 시도했지만 실패했습니다.

답변1

-t먼저, PID만 방출하는 lsof 옵션이 필요합니다 . kill에 pid 목록을 제공할 수도 있습니다.

kill -9 $(lsof -ti tcp:3000)

이 작업을 자주 수행하는 경우 별칭을 만드십시오.

alias kill3000='kill -9 $(lsof -ti tcp:3000)'

답변2

여기 있습니다( 없이 xargs):

lsof -i tcp:8080 | while read cmd pid rest; do ((pid)) && kill -9 $pid; done

관련 정보