원격 Linux의 SecureCRT를 통해 Windows에서 Gaussian을 실행하는 데 문제가 있습니다.
가우스
가우스다양한 하위 실행 파일 생성("링크)달리는 동안. 예를 들어 를 실행하여 Gaussian을 시작하면 및 와 같은 nohup g09 < test.in > test.out 2> test.out &
특정 상황에서 g09
다른 을 생성 link
합니다 l301.exe
.l502.exe
가우스 실행
원격 Linux 상자에 연결하고 다음을 사용하여 Gaussian을 실행할 때 nohup ${Path_Of_Gaussian}/g09 < jobname.in > jobname.out 2> jobname.out &
:
exit
를 입력하고 눌러 셸을 종료하면 EnterLinux의 Gaussian이 계속 실행되는 동안 종료할 수 있습니다(특정 실행 파일의 이름은 특정 시간에 따라 다릅니다).컴퓨터를 종료하면(그리고 SecureCRT도 종료됩니다) Linux의 Gaussian이 종료되고 "전화 끊기"에 대해 불평합니다.
exit
입력하고 눌러 종료 Enter한 다음 로그인 하면 컴퓨터를 종료할 수 있으며 Linux의 Gaussian은 계속 실행됩니다.jlliagre
이 경우 대답은 작동하지 않습니다.
간단한 명령 실행
예를 들어, 아무 작업도 수행하지 않지만(즉, 입력 및 출력을 처리하지 않음) 10분 동안 대기하는 간단한 실행 파일을 생각해 보세요. 내가 그것을 실행할 때 nohup ${Path_Of_Executable}/executable &
:
exit
를 입력하고 눌러 셸을 종료하면 Enter종료할 수 있으며 실행 파일은 Linux에서 계속 실행됩니다.컴퓨터를 종료하면(SecureCRT가 종료됨) Linux에서 실행 중인 실행 파일이 종료됩니다.
exit
Exit 를 입력하고 눌러 로그인하면 Enter컴퓨터를 종료할 수 있으며(SecureCRT가 종료됨) Linux의 실행 파일은 계속 실행됩니다.지식이 풍부한 답변에서와 같이
jlliagre
실행하면nohup ${Path_Of_Executable}/executable </dev/null >/dev/null 2>&1 &
전원이 꺼지고 Linux의 실행 파일은 계속 실행됩니다.
즉, nohup
쉘을 종료하기 전에 로컬 시스템의 전원을 끄면 원격 시스템에서 실행 중인 가우스가 종료되는 이유는 무엇입니까?
답변1
생각 #1 - 부정
문제를 설명하는 방식에 따르면 Guassian이 생성된 셸과 여전히 연결되어 있는 것 같습니다.
실행하는 대신 시도할 수 있는 또 다른 작업은 nohup
동일한 disown -a
작업을 수행해야 하지만 SIGHUP을 수신하는 생성된 프로세스의 연결을 끊는 것입니다.
아이디어 #2 - 다른 Bash로 포장하세요
또 다른 아이디어는 Guassian을 이렇게 호출하는 것입니다.
- 원격 컴퓨터에 로그인
- 안돼 배쉬
- 이 보조 셸에서 Guassian을 실행하세요.
이렇게 하면 로컬 컴퓨터의 연결이 끊어지면 Guassian이 종료되는 것을 방지할 수 있습니다.
아이디어 #3 - tmux 또는 screen 사용
저는 이와 유사한 응용 프로그램을 접한 적이 있는데, 보통 책상에 머리를 너무 세게 부딪히는 대신 Screen 내의 원격 시스템에 손을 뻗어 응용 프로그램을 실행합니다 screen
.tmux
이는 프로세스를 더 잘 보호하고 나중에 다시 연결할 수 있다는 추가 이점을 제공합니다.
답변2
이렇게 하면 애플리케이션이 더 잘 분리됩니다.
nohup ${PATH_OF_APPLICATION}/app </dev/null >/dev/null 2>&1 &
어떤 이유로든 여전히 작동하지 않으면 다음을 시도해 보세요.
echo ${PATH_OF_APPLICATION}/app | at now