일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- apple
- 안드로이드
- 인증
- FIDO2
- SSL
- MFA
- MYSQL
- css
- 앱스토어
- albumbook
- 앨범북
- git
- appres
- openssl
- otpkey
- WebAuthn
- 애플
- Xcode
- MSYS2
- OTP
- kmip
- Android
- 앱리소스
- Nodejs
- fido
- SwiftUI
- SWIFT
- 2FA
- OSX
- SSH
Archives
- Today
- Total
인디노트
Mac에서 Objective-C를 사용하여 시스템을 종료하는 코드 본문
// import 필요
#import <Carbon/Carbon.h>
// ...
// 시스템 종료 함수
void ShutDown()
{
// 예약된 종료 요청을 만듭니다
AuthorizationRef authorizationRef;
AuthorizationCreate(NULL, kAuthorizationEmptyEnvironment, kAuthorizationFlagDefaults, &authorizationRef);
const char *tool = "/sbin/shutdown";
char *argv[3] = { "-h", "now", NULL };
FILE *pipe = NULL;
OSStatus status = AuthorizationExecuteWithPrivileges(authorizationRef, tool, kAuthorizationFlagDefaults, argv, &pipe);
// 에러 처리
if (status != errAuthorizationSuccess) {
NSLog(@"Error: Failed to shutdown system (status=%d)", status);
}
}
// ...
// ShutDown 함수를 호출하여 시스템을 종료합니다
ShutDown();
위 코드는 Carbon 프레임워크의 AuthorizationExecuteWithPrivileges 함수를 사용하여 /sbin/shutdown 명령을 실행합니다. 이 함수는 예약된 종료 요청을 만들어 시스템을 종료합니다. AuthorizationCreate 함수를 사용하여 권한을 얻어야 합니다. 또한, OSStatus를 사용하여 AuthorizationExecuteWithPrivileges 함수 호출의 결과를 확인합니다.
위 코드는 시스템 종료 명령을 수행하는 것이므로 주의해서 사용해야 합니다. 이 코드를 실행하면 Mac 시스템이 바로 종료됩니다.
반응형
'소스 팁 > Objective C, Swift, iOS, macOS' 카테고리의 다른 글
SFAuthorizationPluginView (0) | 2023.03.31 |
---|---|
macOS 관리자 권한 얻어오기 (0) | 2023.03.29 |
AuthorizationExecuteWithPrivileges 대신 SMJobBless (0) | 2023.03.29 |
macOS 재시작 하는 방법 (0) | 2023.03.29 |
사설 SSL 적용 HTTPS 접속하기 위해서 (Swift) (0) | 2022.12.08 |
Comments