2014-07-23 2 views
7

사용자가 안전 모드에서 부팅하지 않은 경우에만 실행하고 싶은 코드가 있습니다. CoreFoundation 또는 C 표준 API를 사용하여이를 감지 할 수 있습니까?OSX에서 안전 모드를 감지하는 방법

편집 :

#include <sys/sysctl.h> 
... 

int safeBoot; 
int mib_name[2] = { CTL_KERN, KERN_SAFEBOOT }; 
size_t length = sizeof(safeBoot); 

if (!sysctl(mib_name, 2, &safeBoot, &length, NULL, 0)) { 
    if (safeBoot == 1) { 
     // We are in safe mode 
    } else { 
     // Normal mode. Continue… 
    } 
} else { 
    // Couldn't find safe boot information 
} 
+0

정상적인 경우 코드가 어떻게 시작됩니까? –

답변

6

당신은이 같은 sysctl를 사용할 수 있습니다 :

sysctl -n kern.safeboot 

그것은 1 때 때 일반 모드에서 safe boot 모드와 0 제공 여기 내 허용 대답에 내 코드 덕분입니다 .

+0

감사합니다, 아름다운 해결책 –

+0

내 기쁨! 코드 공유를위한 +1 :-) –

관련 문제