터미널에서 실행 중인 프로세스의 PID를 가져올 수 없습니다.

터미널에서 실행 중인 프로세스의 PID를 가져올 수 없습니다.

내가 겪고 있는 오류는 프로젝트를 실행하려고 할 때 포트가 이미 사용 중이라는 오류가 발생한다는 것입니다. 그래서 명령을 실행했는데 $ lsof -i :<PORT>문제는 이 명령을 실행한 후 오류-1로 종료된다는 것입니다. 따라서 이 문제를 더 잘 해결할 수 있도록 이 오류를 터미널(iterm2)에 표시하는 방법을 찾으려고 합니다. 다양한 명령을 실행한 후 발견한 이유는 다음과 같습니다.여기작동하지 않습니다. 명령을 입력했는데 오류 1이 발생한 후 서비스를 다시 실행했는데 포트가 이미 사용 중이라는 동일한 오류가 발생했습니다.

답변1

이러한 명령을 성공적으로 실행하려면 사용자로 실행하는 것이 가장 좋습니다 root.

sudo lsof -i :<PORT>

비밀번호가 없는 사용자가 필요 sudo하거나 비밀번호를 입력해야 합니다(Effect sudo).
향후 작업을 위해 오류를 유지하려면 다음을 시도할 수 있습니다.

ERROR1=$(sudo lsof -i :<PORT> 2>&1 1>&2)
echo $ERROR1

이는 STDERR을 STDOUT의 핸들러로 리디렉션한 다음 STDOUT을 STDERR 핸들러(위치 전환)로 리디렉션하여 일반적으로 오류가 인쇄되는 변수에 STDERR을 저장합니다.

관련 정보