2012-02-26 3 views
8

배쉬에서 작동하지 않습니다nohup을은 OSX

$nohup sleep 10 & 

하지만 터미널 닫을 때 :

will exit warning

어떤 아이디어? 이상적으로 배경에서 몽고 밥을 실행하고 싶습니다.

+0

나를 위해 일하십시오 - 터미널 환경 설정을 확인 하시겠습니까? –

답변

5

흥미 롭습니다. 기본 터미널 앱 관련 문제 인 것 같습니다. 가치가 있기 때문에 iTerm2이이 동작을 나타내지 않습니다. (즉, nohup은 OS X에서는 실제로 깨진 것이 아니라, 종료시 하위 프로세스를 찾는 터미널의 특별한 동작처럼 보입니다.)

iTerm2는 여러 가지면에서 기본 터미널보다 낫습니다. 시도 해봐야 해!

+0

네가 맞아, 아직 애플의 관심을 끌지 못한 기발한 디스플레이 오류이다. iTerm은 흥미 롭습니다. 링크 덕분입니다! –

1

스노우 레오파드에서이 작업을 시도했는데 대화 상자가 나타나 잠자기 상태가 될 것이라고 불평했습니다. 그러나 ps -eaf을 통해 확인한 결과 여전히 실행 중이 었습니다.

bill$ ps -eaf | grep sleep 
    501 11806  1 0 0:00.00 ??   0:00.01 sleep 1000 
    501 11811 2628 0 0:00.00 ttys001 0:00.00 grep sleep 
2

세션을 screen 세션으로 실행하면 정상적으로 작동합니다.

1

내가 OSX 10.8.5에있어, 그리고 확인할 수 있습니다

nohup base64 /dev/urandom &

Terminal.app 기반 애플리케이션 (예 : TotalTerminal)하는 것,하지 launchd에서, 쉘 세션에서 프로세스를 생성합니다 예상/리눅스 동작과 동일해야합니다.

반면 iTerm2.app는 launchd에서 동일한 명령을 실행할 수 있었으며 쉘 세션이 닫힌 후에도 계속 유지되었습니다. 그래도 특별한 트릭을 구현 : 내 옆에

─┬◆ 00001 root /sbin/launchd 
├─┬◆ 00245 albanj01 /sbin/launchd 
│ └─┬◆ 21533 albanj01 /Applications/iTerm.app/Contents/MacOS/iTerm2 -psn_0_94628409 
│ └─┬◆ 04684 albanj01 /Applications/iTerm.app/Contents/MacOS/iTerm2 --server /Applications/iTerm.app/Contents/MacOS/iTerm2 --launch_shell 
│  └─┬◆ 04685 albanj01 -zsh 
│  └──◆ 04759 albanj01 base64 /dev/urandom 

내 동료 OSX 10.10.x에 같은 일을 시도하고 Terminal.app 잠재적 그들이 10.8 사이를 해결 한 것을 건의, launchd 아래 nohup 과정을 양산. x-10.10.x.