SSH 세션에서 Python 프로세스를 종료하는 방법

SSH 세션에서 Python 프로세스를 종료하는 방법

helloworld.sh이 질문에는 MPI 명령을 실행하는 bash 스크립트 실행이 포함됩니다. 이 스크립트 는 다음을 사용하여 mpirunPython 프로그램을 실행합니다.helloworld.pympi4py. bash 명령은 helloworld.py여러 "작업자" 노드에서 프로그램을 시작하는 "마스터" 노드의 SSH 터미널에서 사용됩니다. SSH 연결 손실에 대한 명령을 강력하게 만들기 위해 nohup출력을 사용하고 파일로 리디렉션합니다. 명령은

nohup bash helloworld.sh > log.txt &

그러면 다음과 같은 메시지가 출력됩니다.

[1] 23802
nohup: ignoring input and redirecting stderr to stdout

Ctrl+를 누르면 D프로그램이 정상적으로 실행되는 동안 세션 연결이 끊어집니다. Bash 스크립트는 helloworld.sh다음과 같습니다

mpirun -n 25 --hostfile myhostfile.txt python helloworld.py

이는 helloworld.py"마스터" 및 일부 "워커" 노드(총 25개 노드)에서 실행됩니다.

내 문제는 때때로 이 프로그램을 죽이고 싶다는 것입니다. 다시 로그인하여 실행했습니다.

pkill -9 23802

아무 일도 일어나지 않는 것 같고 프로그램은 모든 노드에서 계속 실행됩니다. 그런 다음 실행하여 top -c인쇄된 것과 다른 PID를 얻습니다(왜?) nohup bash(예: 23844). 나는 달리려고 노력한다.

pkill -9 23844

여전히 효과가 없습니다. 실행 중인 모든 Python 프로그램이 아니라 이 프로세스만 종료하는 방법이 필요하다는 점에 유의하세요. 즉, pkill -9 python저에게는 작동하지 않습니다.

관련 정보