거의 이틀 동안 Linux 세션에서 Matlab을 실행했는데 네트워크 연결이 실패하면 계산 결과가 손실될까 봐 걱정되었습니다. Matlab을 배경으로 이동하고 "Screen"을 시작하면 이 문제가 해결됩니까?
답변1
아니요, 프로세스가 시작된 후 화면 세션을 시작하는 것은 도움이 되지 않습니다. 당신이 시도할 수 있는 것은 프로세스를 백그라운드에 두는 것뿐입니다. 내 Linux(Mint 17)에서는 다른 쉘로 시도하고 백그라운드에 "sleep 100000"을 넣었습니다.
그런 다음 세션에서 로그아웃하고 새 세션을 시작했습니다. 프로세스 sleep 100000
는 계속 실행 중이며 상위 프로세스는 프로세스 1(init 프로세스)이 됩니다.
단계는 다음과 같습니다.
sleep 100000
Ctrl+z
bg 1
ps -ef |grep sleep
testuser 7482 7320 0 14:44 pts/11 00:00:00 sleep 10000000
로그 아웃
로그인
ps -ef |grep sleep
testuser 7482 1 0 14:44 ? 00:00:00 sleep 10000000
Solaris와 같은 다른 시스템에는 nohup
정지를 방지하기 위해 pid를 지정할 수 있는 명령이 있습니다.
답변2
습관. Matlab 출력은 screen
세션 에서 마술처럼 나타나지 않습니다 . 왜냐하면 screen
Matlab 세션을 시작한 다음 시작해야 하기 때문입니다. 동일하게 적용됩니다 tmux
.
이 실행 중인 프로세스의 표준 입력/출력을 다른 프로세스에 다시 연결하려면 시도해 볼 수 있습니다.렙텔