프로세스를 시작하고 나중에 "쉘"에 액세스하십시오.

프로세스를 시작하고 나중에 "쉘"에 액세스하십시오.

원격 테스트 시스템이 있는데 몇 가지 결함이 발생했습니다. 내가 원하는 것은 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

관련 정보