백그라운드 프로그램이 실행되는 동안 화면 세션 시작

백그라운드 프로그램이 실행되는 동안 화면 세션 시작

거의 이틀 동안 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세션 에서 마술처럼 나타나지 않습니다 . 왜냐하면 screenMatlab 세션을 시작한 다음 시작해야 하기 때문입니다. 동일하게 적용됩니다 tmux.

이 실행 중인 프로세스의 표준 입력/출력을 다른 프로세스에 다시 연결하려면 시도해 볼 수 있습니다.렙텔

관련 정보