답변:
프로세스 ID (pid)를 찾아야합니다. 이 작업을 수행하는 하나의 명령은
$> ps -ef
파이썬 프로세스로 결과를 제한하기 위해 결과를 grep 할 수 있습니다
$> ps -ef | grep python
결과는 다음과 같습니다.
user 2430 1 0 Jul03 ? 00:00:01 /usr/bin/python -tt /usr/sbin/yum-updatesd
두 번째 열은 pid입니다. 그런 다음 kill 명령을 다음과 같이 사용하십시오.
$> kill -9 2430 (i.e. the pid returned)
이 간단한 라인을 사용해보십시오 script.py
. 모두 종료됩니다 .
pkill -9 -f script.py
kill -9 PID
터미널에서 forground 프로세스로 실행되고 있지 않은 경우 스크립트의 프로세스 ID (PID)를 찾아 a 를 발행하여 프로세스를 종료하십시오.이 경우 Contrl-C를 사용하여 프로세스를 종료 할 수 있습니다.
이 명령으로 PID를 찾으십시오.
ps -elf | grep python
모든 파이썬 프로세스를 나열하고 올바른 프로세스를 골라 PID를 기록하십시오. 그때
kill -9 <whatever_the_PID_is>
프로세스를 종료합니다. 이 단계에서 프로세스를 종료했다는 메시지가 표시 될 수 있습니다.
또는 top
명령을 사용 하여 파이썬 프로세스를 찾을 수 있습니다 . 간단히 k
(죽이기 위해) 입력 하면 top
프로그램이 죽일 프로세스의 PID를 묻습니다. 때로는 top
화면에서 스크롤 될 수 있기 때문에 관심있는 모든 프로세스를보기가 어렵습니다 . ps
접근법이 더 쉽고 더 좋습니다.
-9
"부드럽게"죽일 것입니다. 반응하지 않는 경우에만을 사용 -9
합니다.
완벽한 세상에서, 당신은 스크립트에 대한 문서를 읽고 그것을 끝내기 위해 어떤 신호를 사용해야하는지 볼 것입니다. 실제로는 TERM 신호를 먼저 보내고, TERM을 무시하면 KILL 신호를 사용하는 것이 좋습니다. 따라서 ps 명령을 사용하여 프로세스 ID를 찾으십시오 (이미 설명 된대로). 그런 다음을 실행할 수 있습니다 kill -TERM <pid>
. 일부 프로그램은 열려있을 수있는 파일과 같은 신호를받을 때이를 정리하므로 그런 것부터 시작하는 것이 좋습니다. 이것이 실패하면 큰 망치를 제외하고 할 일이별로 남아 있지 않습니다 kill -KILL <pid>
. (숫자 값 (예 : -KILL = -9)을 사용할 수 있으며이 값은 변경되지 않지만 이론적으로는 이름을 사용하는 것이 더 안전 할 수 있습니다)
스크립트 이름을 알고 있으면 모든 작업을 단일 명령으로 줄일 수 있습니다.
ps -ef | grep "script_name" | awk '{print $2}' | xargs sudo kill
파이썬 스크립트인지 확인하려면 다음을 수행하십시오.
ps -ef | grep "python script_name" | awk '{print $2}' | xargs sudo kill
모든 파이썬 스크립트를 죽이고 싶을 경우 :
ps -ef | grep "python" | awk '{print $2}' | xargs sudo kill
나는 당신이 아이디어를 얻는다고 생각합니다.)
알림 : 예에서와 같이 스크립트 이름을 ""로 인용해야합니다.