
원격 테스트 시스템이 있는데 몇 가지 결함이 발생했습니다. 내가 원하는 것은 gdb
원격 시스템에 문제가 있을 때 프로세스를 트리거한 다음 ssh
원격 시스템으로 이동하여 기존 gdb
프로세스에 액세스하는 것입니다. sudo
권한과 프로세스 pid가 주어지면 기존 프로세스를 현재 쉘로 "재배치"하는 방법이 있습니까 ? 또는 이와 유사한 것; 명확하게 말하면 내 목표는 마치 터미널에서 프로세스를 시작한 것처럼 전체 stdin
/ 액세스 권한을 갖는 것입니다.stdout
답변1
원하는 도구는 screen
또는 입니다 tmux
. 나는 선호한다 screen
. (중복일 줄 알았는데 관련 내용을 찾을 수가 없네요.)
원격 시스템에 로그인하고 화면을 시작하세요
screen
새로운 쉘이 생기고 이제 gdb 프로세스를 시작할 수 있습니다. Ctrl ACtrl D세션을 분리하고 로그아웃하는 데 사용됩니다 .
나중에 다시 연결할 수 있습니다. 원격 시스템에 다시 로그인
screen -r # Reattach to a single detached screen
기타 간단하지만 유용한 옵션
screen -ls # List the available screens (detached or attached)
screen -S sessionname # Create a new screen session with identifier "sessionname"
screen -r <identifier> # Reattach to a named detached screen
screen -dr <identifier> # Forcibly detach an attached screen and attach to it