![프로세스를 시작하고 나중에 "쉘"에 액세스하십시오.](https://linux55.com/image/190457/%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4%EB%A5%BC%20%EC%8B%9C%EC%9E%91%ED%95%98%EA%B3%A0%20%EB%82%98%EC%A4%91%EC%97%90%20%22%EC%89%98%22%EC%97%90%20%EC%95%A1%EC%84%B8%EC%8A%A4%ED%95%98%EC%8B%AD%EC%8B%9C%EC%98%A4..png)
원격 테스트 시스템이 있는데 몇 가지 결함이 발생했습니다. 내가 원하는 것은 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