ssh
내 터미널에서 시뮬레이션 명령을 실행하면서 내 서버에서 이것을 사용하고 있습니다 .
시뮬레이션은 10시간 넘게 진행되었습니다. 15시간 이상 후에 출력이 예상됩니다.
실행 중에는 터미널에 임의의 결과가 표시됩니다. 나에게 중요한 것은 지난 30분 동안 만들어진 최종 결과이다. 시뮬레이션이 끝나기 전에.
인터넷 연결이 끊어져서 ssh
연결이 끊겼는데, 다시 연결해서 ssh
원격 서버에서 내 프로그램이 계속 실행되고 있는지 확인했습니다.
PID TTY TIME CMD
2063 ? 00:00:00 sshd
2064 pts/14 00:00:00 bash
2156 pts/14 01:19:14 sim-cache
15446 ? 00:00:00 sshd
15448 pts/30 00:00:00 bash
15593 pts/30 00:00:03 sim-cache
15636 ? 00:00:00 sshd
15637 pts/31 00:00:00 bash
15652 pts/31 00:00:00 ps
그러나 백그라운드에서 실행되므로 출력이 표시되지 않습니다.
실행 중인 프로세스를 현재 터미널로 가져오는 방법을 알려줄 수 있는 사람이 있습니까? 그러면 터미널에서 프로세스를 볼 수 있고 그것이 무엇이든 여기에 반영됩니다.
답변1
fg
명령이 바로 그 일을 합니다. 이것은협회아니면 man fg
도움을 요청하는 것입니다.
답변2
해결책은 시뮬레이션을 시작하는 것입니다.화면터미널에서 연결을 끊고 연결할 수 있습니다. 동시에 여러 터미널에 연결하여 여러 컴퓨터의 출력을 동시에 볼 수도 있습니다.
답변3
이미 실행 중인 인스턴스에는 도움이 되지 않지만 다음과 같이 프로그램의 출력을 로그 파일로 리디렉션할 수 있습니다.이 답변관련 질문:
sim-cache > logfile < /dev/null 2>&1 &
이렇게 하면 프로세스가 완료되기 전에 프로세스에 다시 연결할 수 있는지 여부에 관계없이 출력을 얻을 수 있습니다.
현재 를 사용하면 제공한 목록의 PID가 fg 2156
있는 셸의 전경으로 프로세스가 이동됩니다 .2156
sim-cache