어젯밤에 nohup을 통해 클러스터에서 명령을 시작한 다음 연결을 닫았습니다. 오늘 저는 이 작업을 종료하고 싶지만(출력 파일에서 출력이 생성되기 때문에 이 작업이 여전히 실행 중인 것으로 알고 있습니다) 해당 PID도 확인할 수 없습니다. 예를 들어 를 입력하면 ps -ax
실행 파일 이름이 표시되지 않습니다 . 간단히 입력하면 ps
이 로그인 세션을 시작한 실행 파일만 표시됩니다.
어떤 제안이 있으십니까?
답변1
명령을 시도해보고 jobs
, 보이면 작업 번호를 기록한 다음kill -9 %job_number_you_recorded
답변2
이를 사용하여 lsof
해당 출력 파일을 연 pid를 찾을 수 있습니다.
답변3
프로세스 이름을 기억하시나요? 목록을 작성해보세요:
ps aux | grep -i $your_process_name
프로세스를 찾으면 ($pid = 두 번째 열)을 사용하여 쉽게 종료할 수 있습니다.
kill -9 $pid
현재 세션에서는 프로세스를 찾을 수 없으며 nohup
지정된 프로그램을 실행한 다음 터미널에서 해당 프로그램을 분리합니다. 이 부모 없는 프로세스의 부모 프로세스는 이제 init 프로세스(PID #1)가 됩니다. 다음 명령을 사용하여 이를 확인할 수 있습니다.
pstree -a
특정 프로세스의 인스턴스가 하나만 실행되고 있다고 확신하는 경우 다음을 사용하여 쉽게 종료할 수 있습니다.
killall -9 $process_name
예를 들어:
killall -9 nano