lsof 생존 가이드 [닫힘]


104

lsof는 유닉스 시스템을위한 매우 강력한 명령 줄 유틸리티입니다. 열린 파일을 나열하고 이에 대한 정보를 표시합니다. 그리고 대부분의 모든 것이 유닉스 시스템의 파일이기 때문에 lsof는 시스템 관리자에게 유용한 진단 데이터를 제공 할 수 있습니다.

lsof를 사용하는 가장 일반적이고 유용한 방법은 무엇이며 어떤 명령 줄 스위치가 사용됩니까?

답변:


119

주어진 것과 관련된 모든 네트워킹을 표시하려면 다음을 수행하십시오 port.

lsof -iTCP -i :port
lsof -i :22

특정 호스트에 대한 연결을 표시하려면 @host

lsof -i@192.168.1.5

@host:port lsof -i@192.168.1.5 : 22를 사용하여 호스트 및 포트를 기반으로 연결 표시

grepping for LISTEN는 시스템이 연결을 기다리는 포트 를 보여줍니다.

lsof -i| grep LISTEN

다음을 사용하여 주어진 사용자가 무엇을 열 었는지 보여줍니다 -u.

lsof -u daniel

명령이 사용하는 파일 및 네트워크 연결 확인 -c

lsof -c syslog-ng

-p스위치는 특정 프로세스 ID가 알려지지 않은 프로세스에 대한 학습을위한 선한 오픈 무슨 볼 수 있습니다 :

lsof -p 10075

-t옵션은PID

lsof -t -c Mail

은 Using -t-c당신이 함께 옵션을 수있는 HUP프로세스를

kill -HUP $(lsof -t -c sshd)

-twith -u를 사용하여 사용자가 연 모든 것을 종료 할 수도 있습니다.

kill -9 $(lsof -t -u daniel)


한 가지 좋은 방법은 Ruby를 사용하는 경우 치트 젬을 사용하는 것입니다. 많은 유틸리티 (언어 독립적)의 치트 시트에 편리한 커뮤니티 기반 CLI입니다. 그것을 시도하십시오 .
Kedar Mhaswade 2015 년

25
lsof -i :port 

특정 포트에서 어떤 프로그램이 수신되는지 알려줍니다.


1
"수신"에 국한되지 않으므로 지정 lsof -i :8080하고 포트 8080에서 프록시에 연결하는 많은 프로세스가있는 경우 해당 프로세스도 얻을 수 있습니다.
Matt Byrne 2014 년

14
lsof +D /some/directory

디렉토리에서 열린 모든 파일을 재귀 적으로 표시합니다. + d는 최상위 수준입니다.

이것은 IO에 대한 대기 %가 높고 특정 FS에서 사용하는 것과 관련이 있으며 어떤 프로세스가 io를 씹는 지 확인하려는 경우에 유용합니다.


13

lsof -i개방형 네트워크 소켓 목록을 제공합니다. 이 -n옵션은 네트워크 연결이 느리거나 불안정 할 때 유용한 DNS 조회를 방지합니다.


5
lsof -i것입니다 당신은 당신의 네임 스페이스에 액세스 할 수있는 (그리고 반성을 통해 "인터넷"소켓, 네트워크 소켓뿐만 아니라 어떤 종류로 간주되는) 것을 소켓을 보여줍니다. 그렇지 않으면 'sock'유형의 핸들이 목록에 표시되지 않습니다.
Nick Bastin 2013-08-06

13

실행중인 애플리케이션 또는 데몬이 어떤 파일을 열 었는지 확인합니다.

lsof -p pid

여기서 pid 는 애플리케이션 또는 데몬의 프로세스 ID입니다.


10
lsof +f -- /mountpoint

/ mountpoint에 마운트 된 마운트의 파일을 사용하는 프로세스를 나열합니다. 특히 마운트 된 USB 스틱 또는 CD / DVD를 사용하는 프로세스를 찾는 데 유용합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.