Linux에서 프로세스를 보고 종료하는 방법: 먼저 "ps -aux | grep program name" 명령을 사용하여 관련 프로세스를 보고 프로세스 번호 PID를 얻은 다음 "kill -9 PID" 명령을 사용하여 프로세스를 종료합니다. .
이 튜토리얼의 운영 환경: Red Hat Enterprise Linux 6.1 시스템, Dell G3 컴퓨터.
문제 설명:
nohup을 사용하고 백그라운드 프로그램을 실행합니다. 명령은 다음과 같습니다.
nohup python server.py &
이 명령은 프로그램을 백그라운드에서 계속 실행할 수 있습니다(xshell 연결이 끊어졌지만 서비스가 중지되지 않음을 보장)
하지만 서버를 다시 시작하면 서버가 포트가 사용 중이라는 메시지를 표시합니다
이때 먼저 이전 프로그램을 종료한 다음 다시 시작해야 합니다.
단계:
1. 프로세스를 확인하고 프로세스 번호를 가져옵니다
1) lsof -i:port number를 사용하여 프로세스 번호를 확인합니다(포트 번호가 알려진 경우). 포트 1500의 프로세스 번호:
lsof -i:1500
이 PID 79297은 프로세스 번호
2) 시스템이 lsof를 지원하지 않는 경우 netstat
netstat -ntlp | grep [port]
3) 포트 번호를 모르지만 포트 번호를 모르는 경우 프로그램 이름을 알고 있으면 ps aux를 사용하여 확인하세요
ps -aux | grep server.py
S+가 아닌 열은 PID에 해당합니다.
Sl은 실행 상태 STAT를 나타내고, S는 중단을 나타내는 열은 무엇인가요? 아무튼 찾아보니 이해가 안가네요. 내가 이해하는 바는 S+가 실행 중인 프로그램의 프로세스 번호가 아니라 쿼리 명령의 임시 프로세스 번호를 나타낸다는 것입니다. 일반적으로 S, Sl 또는 Sl+는 실행 중인 프로그램을 나타냅니다.
(그리고 ps aux를 사용하면 왜 다른 사람의 USER는 이름이 표시되는데, 내 것은 515 사용자 ID가 표시되는지 발견했습니다. 확인해 본 결과 Linux 메커니즘 자체에 문제가 있음을 발견했습니다. 사용자가 이름이 8자를 초과하면 시스템은 해당 사용자 ID를 자동으로 표시합니다. )
2. 그를 죽입니다.
kill -9 PID
1) 프로세스 이름은 다음에 따라 쿼리될 수 있습니다. PID 명령은 다음과 같습니다:
ll /proc/PID
Linux Video Tutorial
"위 내용은 Linux에서 프로세스 번호를 확인하고 프로세스를 종료하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!