mac 시작 항목 을 설정 하 는 세 가지 방식 요약

7223 단어 mac시작 항목
머리말
Mac OS X 에서 시작 항목 의 설정 을 실현 하 는 세 가지 방법 이 있 습 니 다.1)Login Items;2)StartupItems;3)launchd daemon。다음은 더 이상 할 말 이 없 으 니 상세 한 소 개 를 해 봅 시다.
1. Login Items
System Preferences 를 열 고 System->Accounts 를 선택 하고 Login Items 옵션 을 선택 하여/applications 디 렉 터 리 에 있 는.app 을 오른쪽 목록 에 직접 끌 어 옵 니 다.컴퓨터 를 다시 켜 면 목록 에 있 는 프로그램 이 켜 진 후에 자동 으로 시작 되 는 것 을 발견 할 수 있 습 니 다.

2. StartupItems
Startup Items 는 말 그대로 시스템 시작 과정 에서 실행 되 는 프로그램 입 니 다.실행 이 끝나 면 바로 종료 되 는 프로그램(예 를 들 어 시동 을 걸 어 휴지통 을 비 우 는 것)일 수도 있 고 시스템 운행 주기 에 지속 되 는 배경 프로 세 스 일 수도 있 습 니 다.
StartupItems 는 보통 다음 두 경로 에 저 장 됩 니 다.
1)/System/Library/StartupItems
2)/Library/StartupItems
대부분 시스템 과 관련 된 Startup Items 는/System/Library/Startup Items 라 는 경로 에서 실 행 됩 니 다.전자 경로 의 Startup Items 는 시스템 급 기초 서 비 스 를 제공 하기 때 문 입 니 다.예 를 들 어 crash reporting,core graphics services,system accounting 등 이 있 고 후자 경 로 는 기본 적 인 상황 에서 존재 하지 않 습 니 다.직접 만들어 야 합 니 다.
여 기 는/Library/Startup Items 디 렉 터 리 에 있 는 IcebergControl Tower 를 예 로 들 겠 습 니 다.

쉽게 말 하면 Mac OS X 에서 하나의 Startup Items 는 다음 과 같은 두 가지 내용 을 포함한다.
1)실행 가능 한 프로그램;
2)프로 세 스 관계 에 의존 하 는 plist 파일(StartupParameters.plist)을 포함 합 니 다.
2.1 The Property List
2.1.1 Plist 의 key 값 과 의미
Startup Parameters.plist 는 실행 가능 한 프로그램 을 실행 하 는 데 필요 한 조건 을 포함 하 는 속성 목록 입 니 다.

이 plist 는 루트 권한 을 받 아야 합 니 다.몇 가지 내용 을 포함 합 니 다.
1.Description;
이 서비스 에 대한 간단 한 설명 은 설명 일 뿐 실제 프로 세 스 이름 을 설명 하 는 것 이 아 닙 니 다.
2.Provides;
StartupItems 가 제공 하 는 서 비 스 를 지정 합 니 다.그림 plist 파일 Provides 에서 설명 한 바 와 같이 StartupItems 가 열 린 배경 프로 세 스 이름 은 Iceberg Control Tower 입 니 다.
Provides 는 여러 개의 서 비 스 를 지정 할 수 있 는데 그림 에 반 영 된 것 이 바로 Item 0,Item 1...등 이다.여기 아 이 템 0 밖 에 없어 요.
3.Uses;
StartupItems 가 불 러 오기 전에 열 어야 할 서 비 스 를 지정 하 였 습 니 다.Mac OS X 시스템 은 먼저 Uses 에서 지정 한 서 비 스 를 불 러 온 다음 StartupItems 를 불 러 옵 니 다.즉,Uses 에서 지정 한 서비스 가 불 러 오지 않 아 도 시스템 은 StartupItems 를 불 러 옵 니 다.
4.OrderPreference;
StartupItems 를 실행 할 시간 순 서 를 지정 합 니 다.이 순서의 중요 도 는 Uses 다음 에 있 으 며,Uses 를 실행 한 후의 순 서 를 지정 합 니 다.가능 한 수 치 는 First,Early,None(default),Late,Last 를 포함 합 니 다.
5.Messages。
2.1.2 StartupParameters.plist 파일 만 들 기

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" 
 "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
 <key>Description</key> 
 <string>Iceberg Control Tower Initilaization</string> 
 <key>Provides</key> 
 <array> 
  <string>Iceberg Control Tower</string> 
 </array> 
  <key>Uses</key> 
 <array> 
  <string>Disks</string> 
 </array> 
 <key>OrderPreference</key> 
  <string>None</string> 
</dict> 
</plist>
2.2 The Executable File
주의:
4.567917.실행 가능 한 파일 의 이름 은 폴 더 의 파일 이름과 같 습 니 다.이것 은 시스템 의 기본 규칙 입 니 다
  • 실행 가능 한 파일 은 루트 권한 을 가 져 야 합 니 다.
  • 실행 가능 한 파일 은 셸 스 크 립 트 입 니 다IcebergControl Tower 파일 디 렉 터 리 에서 같은 이름 의 실행 가능 한 파일 을 열 면 스 크 립 트 의 구체 적 인 내용 을 볼 수 있 습 니 다.

    일반적인 실행 가능 한 파일 에는 다음 과 같은 몇 가지 내용 이 포함 되 어 있 습 니 다.
    1)./etc/rc.common
    Apple 이 제공 하 는 스 크 립 트 라 이브 러 리 는 실행 가능 한 파일 에 인 자 를 도입 할 수 있 는 인 터 페 이 스 를 포함 하고 있 습 니 다.여기 load 라 이브 러 리 는 주로 RunService 를 호출 합 니 다.
    2)StartService(), StopService(), RestartService()
    실행 가능 한 파일 이 받 은 인자 가 start,stop 또는 restart 일 때 해당 하 는 함 수 를 실행 합 니 다.
    매개 변수 의미:
    start:켜 는 과정 에서 서 비 스 를 시작 합 니 다.
    stop:전원 을 끄 는 과정 에서 서 비 스 를 중단 합 니 다.
    restart:특정한 조건 에서 서 비 스 를 다시 시작 합 니 다.
    3)RunService “$1”
    이 스 크 립 트 에 전 달 된 첫 번 째 인자 가 지정 한 서 비 스 를 실행 합 니 다.
    "$1"은 이 스 크 립 트 에 전 달 된 첫 번 째 인 자 를 표시 합 니 다.예 를 들 어 들 어 온 인자 가 start 이면 StartService()를 실행 합 니 다.
    3. Launchd Daemon
    launchd 는 Mac OS 에서 시스템 환경 을 초기 화 하 는 데 사용 되 는 관건 적 인 프로 세 스 입 니 다.커 널 로드 에 성공 한 후 OS 환경 에서 시작 하 는 첫 번 째 프로 세 스 입 니 다.
    이 방식 으로 시작 항목 을 설정 하 는 것 은 간단 합 니 다.하나의 plist 파일 만 필요 합 니 다.보통(시스템 추천)plist 를~/Library/LaunchAgent 경로 에 두 는 것 입 니 다.
    3.1 plist 파일 형식 및 필드 마다 의 의미:

    1)Label【required】
    이 서비스의 이름 입 니 다.
    2)OnDemand【optional】
    10.4 제 공 된 key 값 은 KeepAlive 의 기본 기능 과 비슷 하 며 10.5 및 그 후의 시스템 에서 KeepAlive 로 대 체 됩 니 다.KeepAlive 는 더 많은 기능 을 확 장 했 습 니 다.단일 한 boolean 을 key 값 으로 사용 하 는 것 외 에 사전 을 사용 하여 여러 key 값 을 결합 할 수 있 습 니 다.
    3)Program[ProgramArgument 는 required 입 니 다.ProgramArgument 가 없 는 경우 Program 이라는 key 를 포함해 야 합 니 다]
    실행 가능 한 파일 의 경 로 를 지정 합 니 다.
    4)RunAtLoad【optional】
    이 서 비 스 를 불 러 온 후 경로 가 지정 한 실행 가능 한 파일 을 즉시 시작 합 니 다.기본 값 은 false 입 니 다.
    5)WorkingDirectory【optional】
    이 키 는 실행 가능 한 파일 을 열기 전에 현재 작업 디 렉 터 리 의 경 로 를 지정 합 니 다.
    6)KeepAlive【optional】
    이 키 값 은 실행 가능 한 파일 이 지속 적 으로 실행 되 는 지,아니면 구체 적 인 조건 을 만족 시 킨 후에 시작 하 는 지 제어 하 는 데 사 용 됩 니 다.기본 값 은 false 입 니 다.즉,구체 적 인 조건 을 만족 시 킨 후에 시작 합 니 다.설정 값 이 ture 일 때 실행 가능 한 파일 을 무조건 열 고 전체 시스템 운행 주기 내 에 유지 하 는 것 을 표시 합 니 다.
    3.2 plist 파일 만 들 기:
    
    <?xml version="1.0" encoding="UTF-8"?> 
    <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" 
     "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
    <plist version="1.0"> 
    <dict> 
     <key>Label</key> 
     <string>com.yourcompany.HSPA_USB_MODEM</string> 
     <key>OnDemand</key> 
     <false/> 
     <key>Program</key> 
     <string>/Application/HSPA USB MODEM.app/Running</string> 
     <key>RunAtLoad</key> 
     <true/> 
     <key>WorkingDirectory</key> 
     <string>/Application/HSPA USB MODEM.app</string> 
    </dict> 
    </plist> 
    4.세 가지 방식 의 차이
    시스템 의 시작 과정 을 초보 적 으로 이해 한 후에 이 세 가지 설정 시작 항목 의 방식 을 보면 이 세 가지 방식 간 의 차 이 를 쉽게 이해 할 수 있다.
    전반적 으로 LoginItems 와 StartupItems 의 차이 가 뚜렷 하 다.
    StartupItems
    LoginItems
    Depedency Ordering
    Need
    Do not Need
    Load Timing
    during startup
    after a user logs in
    Launched by WHO
    by root, but not necessarily
    the user
    Processes types
    background processes and processes that terminate after running
    any Mac OS X executable
    사용자 정의 Launchd daemon 에 대해 서 는 보통~/Library/LaunchAgent 경로 에 놓 습 니 다.launchd 프로 세 스 는 사용자 login 이후 에 만 불 러 올 수 있 습 니 다.이 방식 은 LoginItems 와 가장 큰 차이 점 은 시작 하 는 프로 세 스 가 다르다 는 것 이다.LoginItems 는 loginwindow 를 통 해 시 작 됩 니 다.Launchd daemon 은 com.apple.launchd.peruser 를 통 해 시 작 됩 니 다.
    총결산
    이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가치 가 있 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.

    좋은 웹페이지 즐겨찾기