2013-08-12 2 views
2

내 질문은 이미 SO here, herehere에있는 질문과 같습니다. 그러나 나를 위해 nohup가 작동하지 않습니다. screen을 컴파일하면 오류가 발생하고 표시가 해제되면 Ctrl + Z가 프로세스를 "중지됨"으로 설정하지 않습니다.ssh 클라이언트를 닫은 후 백그라운드 프로세스가 종료됩니다.

파일에 데이터를 쓰고 상태 메시지를 화면 (stdout)에 인쇄하는 데이터 생성 바이너리를 실행합니다. 나는 다음을 시도했다

nohup ./sp2b <options for sp2b> > output & 

내가 로그 아웃하고 다시 로그인하면 프로세스가 이미 종료된다. 실제로 시간을 보내고 싶다. 그러고 싶다.

nohup time ./sp2b <options for sp2b> > output & 

필자의 경우 nohup이 작동하지 않는 이유는 무엇인가?

+1

화면을 컴파일하는 이유는 무엇입니까? apt-get과 같은 패키지 관리자 –

+0

을 통해 쉽게 사용할 수 있어야합니다. 관리자 권한이 없습니다. 그래서 저는 실제로 솔루션과 같은 nohup을 선호 할 것입니다. – Raghava

+0

왜 화면에 앰퍼샌드가 사용됩니까? 화면을로드 Ctrl 키를 X - 몇 세션을 만들거나 하나를 시작하여 새 세션을 oopen 다음 화면을 실행 - d를 {detach} 그것을 실행 떠나? - 스크린 -r과 그 애호가가 다시 연결하여 ctrl a 1을 사용하여 앰퍼샌드없이 화면과 작업으로 돌아갈 수 있습니까? – Vahid

답변

1

아마도 screen 대신 tmux (화면의 더 현대적인 대안)을 사용하십시오. 루트가 없으므로 로컬로 설치합니다.

mkdir tmp && cd tmp; 
aptitude download tmux; 
ar x tmux_* 
tar xvf data.tar.gz 

이제 TMUX은, 희망 당신은 의존성이 설치되어 있어야합니다, ./usr/bin/tmux을 몇을하고있다 시도 할 수 있습니다. 이것은 내 컴퓨터에서 작동했습니다.

+0

답장을 보내 주셔서 감사합니다. 나는 이것을 시도했지만 tmux는 libevent에 의존하고 있으며 우리 서버에 설치되어 있지 않다. libevent의 바이너리를 컴파일하고 생성하여 로컬에 배치 할 수는 있지만, libevent (?)를 위해 tmux를 볼 수있는 옵션은 없다고 생각합니다. 왜 nohup 옵션이 저에게 효과가 없다고 생각합니까? – Raghava

+0

예, 이것은 'LD_LIBRARY_PATH' 변수를 변경하여 가능합니다. 'LD_LIBRARY_PATH =/my/libevent/path : $ LD_LIBRARY_PATH'로 설정하면됩니다. –

+0

프로세스가'NOHUP' 및'suspend' 신호에 응답하지 않는 이유는 모르겠지만 전문가는 아닙니다. 이 신호를 명시 적으로 무시할 수도 있지만 기본 동작은이를 존중하는 것입니다. 이 프로그램은 다음과 같습니다. http://dbis.informatik.uni-freiburg.de/index.php?project=SP2B? –

관련 문제