
상황
사용자가 여러 끝점에서 로그인하여 사용할 수 있는 환경을 설정했습니다 tmux
. screen
... 따라서 작업을 종료하면 SSH 세션에서 로그아웃하여 터미널 멀티플렉서에 보관된 프로세스를 종료하지 않고 다음 중 하나를 수행할 수 있습니다. a pkill -u ${USER}
또는 killall -u ${USER}
모든 프로세스를 종료하려면 이라는 스크립트 안에 함수를 래핑합니다 fulllogout
.
문제
pkill -u ${USER}
또는 을 실행할 때 killall -u ${USER}
종료 프로세스는 다른 모든 프로세스를 종료하기 전에 자체 종료하거나 해당 쉘을 종료하여 일부 프로세스가 계속 유지될 수 있습니다.
승격된 권한을 허용하지 않고 어떻게 성공적으로 수행할 수 있습니까?
답변1
kill -TERM -1
권한이 있는 모든 프로세스(pid 1 제외)에 SIGTERM을 보내며 마찬가지로 kill -KILL -1
가능한 모든 프로세스를 종료합니다. 이는 단일 시스템 호출로 수행되므로 도중에 자체 종료할 수 없습니다.