답변:
GDB 및 프로세스 ID를 사용하여 프로세스에 첨부 한 다음 인수로 call
명령 을 발행 할 수 exit(0)
있습니다.
call
실행중인 프로그램 내에서 함수를 호출 할 수 있습니다. 호출 exit(0)
은 리턴 코드 0으로 종료됩니다.
gdb -p <process name>
....
.... Gdb output clipped
(gdb) call exit(0)
Program exited normally.
한 줄 도구로 :
gdb --batch --eval-command 'call exit(0)' --pid <process id>
_exit
시스템 호출 을 호출하도록 관련 레지스터를 수정하십시오 0
. 그것은 단순히 CPU 사이클을 반복하고 태우는 것이 아닌 모든 프로세스에서 작동합니다. 프로세스가 무한 루프에 빠지지 않으면 실행 파일에서 필요한 명령을 찾아서 명령 포인터를 가리 키더라도 동일한 방법을 사용할 수 있습니다.
쉘이이를 잡을 SIGCHLD
때 무조건 리턴 값을 0이 아닌 값으로 적절하게 설정하므로 스크립트 나 쉘을 수정해야합니다.
이 원 라이너는 나를 위해 일했습니다.
/bin/bash -c '/usr/bin/killall -q process_name; exit 0'
$ cat; echo $?
Terminated
143
.
No symbol table is loaded. Use the "file" command
. 비록 가능성이 적습니다.