Mac OS X中,有三种方式来实现启动项的配置

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: center; font: 22.0px "Times New Roman"; color: #000000 }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "Times New Roman"; color: #000000 }
p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px SimSun; color: #000000 }
p.p4 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Times New Roman"; color: #000000 }
p.p5 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Times New Roman"; color: #000000; min-height: 15.0px }
p.p6 { margin: 0.0px 0.0px 0.0px 0.0px; font: 10.5px "Times New Roman"; color: #000000; min-height: 11.0px }
p.p7 { margin: 0.0px 0.0px 0.0px 0.0px; font: 10.5px SimSun; color: #000000 }
p.p8 { margin: 0.0px 0.0px 0.0px 0.0px; font: 10.5px "Times New Roman"; color: #000000 }
li.li4 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Times New Roman"; color: #000000 }
li.li8 { margin: 0.0px 0.0px 0.0px 0.0px; font: 10.5px "Times New Roman"; color: #000000 }
span.s1 { }
span.s2 { font: 22.0px SimSun }
span.s3 { font: 14.0px SimSun }
span.s4 { font: 12.0px "Times New Roman" }
span.s5 { font: 12.0px SimSun }
span.s6 { font: 12.0px Helvetica; color: #000000 }
span.s7 { font: 10.5px "Times New Roman" }
span.s8 { font: 10.5px SimSun }
ol.ol1 { list-style-type: decimal }

Mac OS x 启动项设置

Mac OS X的启动原理:

1,mac固件激活,初始化硬件,加载BootX引导器。

2,BootX加载内核与内核扩展(kext)。

3,内核启动launchd进程。

4,launchd根据 /System/Library/LaunchAgents ,/System/Library/LaunchDaemons , /Library/LaunchDaemons,/Library/LaunchAgents , ~/Library/LaunchAgents里的plist配置,启动服务守护进程。

在Mac OS X中,有三种方式来实现启动项的配置:

  1. Login Items;2)StartupItems;3)launchd daemon

1.Login Items

打开System Preferences,选择System -> Accounts,选择Login Items选项卡,将/Applications目录下的.app直接拖进右边的列表中。重启电脑之后就会发现列表中的程序在开机之后就自动启动了。

2.StartupItems

定义:StartupItems:就是在系统启动过程中运行的程序,它们可以是运行完就立即终止的程序(比如,开机清空废纸篓),也可以是一直持续在系统运行周期的后台进程。

路径:

1)/System/Library/StartupItems

2)/Library/StartupItems

大部分与系统相关的StartupItems都放在/System/Library/StartupItems这个路径下,它们会先于/Library/StartupItems路径下的执行,因为前者路径下的StartupItems提供了系统级的基础服务,比如crash reporting,core graphics services,system accounting等,而后者路径在默认情况下是不存在的,需要自己手动创建。

例如:这里我们以/Library/StartupItems目录下的IcebergControlTower为例。

简单来说,在Mac OS X上,一个StartupItems包含以下两个方面的内容:

1)可执行程序;

  1. 包含依赖进程关系的plist文件(StartupParameters.plist)。

例如:

StartupParameters.plist 是一个属性列表,包含了运行可执行程序的必要条件。

创建一个StartupParameters.plist文件

The Executable File创建:

注意:1)可执行文件的名称和它所在的文件夹的文件名是一样的,这是系统默认的规则。

2)操作可执行文件需要获得root权限。

3)可执行文件是一个shell脚本。

打开IcebergControlTower文件目录下同名的可执行文件,可以看到脚本的具体内容:

3. Launchd Daemon

launchd是Mac OS下用于初始化系统环境的关键进程,它是内核装载成功之后在OS环境下启动的第一个进程。

配置文件路径:创建plist放在~/Library/LaunchAgents路径下

例如: plist文件格式及每个字段的含义:

创建一个plist文件:

时间: 2024-10-25 09:35:51

Mac OS X中,有三种方式来实现启动项的配置的相关文章

Mac OS X 中一些常用的命令行技巧

一.网络设置相关 1.网卡的物理地址的动态重置 出于某些需求,例如网络中的 IP 地址或网络帐号与网卡物理地址绑定,使得多个设备无法切换上网,可尝试临时更改物理地址.不过,系统偏好设置是不能修改网卡物理地址的,这就是命令行的用武之地了.具体来说,若心中已有想修改的物理地址,例如 00:1f:3c:93:b5:99,可执行 $ sudo ifconfig en1 ether 00:1f:3c:93:b5:99 来临时修改网卡的物理地址:若没有物理地址,只是想临时启用尝试一下,可用 openssl

【转】Mac OS X 中 Zsh 下 PATH 环境变量的正确设置

在 Mac OS X 中使用 zsh,环境变量 PATH 一不小心就会变得很紊乱,表现为自己设置的路径总是被放到系统路径之后,部分路径还会有重复.这是我们不太了解 zsh 启动时加载文件的顺序和 Mac OS X 的 shell 类型导致的. zsh 启动过程中会依次读取以下文件: /etc/zshenv $ZDOTDIR/.zshenv($ZDOTDIR 未设置时默认为 $HOME) 如果是 login shell,读取 /etc/zprofile, $ZDOTDIR/.zprofile 如果

在Mac OS X中配置Apache + PHP + MySQL

在Mac OS X中配置Apache + PHP + MySQL Mac OS X 内置Apache 和 PHP,使用起来非常方便.本文以Mac OS X 10.6.3和为例.主要内容包括: 启动Apache 运行PHP 安装MySQL 使用phpMyAdmin 配置PHP的MCrypt扩展库 设置虚拟主机 启动Apache 有两种方法: 打开“系统设置偏好(System Preferences)” -> “共享(Sharing)” -> “Web共享(Web Sharing)”. 打开“终端

在Mac OS X中配置Apache + PHP + MySQL 很详细

这是一篇超级详细的配置mac os下面php+mysql+apache的文章.非常详细我的大部分配置就是参考上面的内容的,比如,PHP不能连接数据库,就是改一下默认的php.ini中pdo_mysql.default_socket[因为现在都用PDO了嘛.不用mysql的连接库了]因为我是用navicat的,所以对phpmyadmin那一块的配置就不太关心了.不过MCrypt的安装可以参考.原文来自:在Mac OS X中配置Apache + PHP + MySQL内容如下: Mac OS X 内

Mac OS X中编译WRTNode固件

1.Disk Image CreationMac OS X系统默认的磁盘文件系统是非大小写敏感的,而Openwrt编译环境需要大小写敏感支持,故我们创建一个磁盘映像文件来新建大小写敏感的文件系统. 下面开始用MacOSX系统中自带的命令hdiutil来创建一个新磁盘镜像并挂载到系统中. Hackintosh:~ Diveinedu$ cd $HOMEHackintosh:~ Diveinedu$ hdiutil create -size 20g -fs "Case-sensitive HFS+&

在Mac OS X中使用mtr诊断路由节点问题

这个工具是从阿里云客服那知道的,当时遇到阿里云CDN的一个节点出现丢包问题,用这个工具诊断路由节点问题. 1. 下载地址:http://rudix.org/packages/mtr.html(在园子里下载) 2. 下载后运行mtr-0.85-0.pkg进行安装 3.  cd /usr/local/sbin ,就会看mtr文件. 4. 运行mtr出现提示 -bash: mtr: command not found 解决方法: alias mtr=/usr/local/sbin/mtr 5. 继续运

在mac OS X中配置python mysql开发环境

1. 首先要下载安装mysql,下载地址: http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.19.tar.gz 解压: tar -xzvf mysql-5.6.19.tar.gz 然后下载gmock,编译mysql时需要用到: https://googlemock.googlecode.com/files/gmock-1.7.0.zip 解压到指定目录 <span style="font-size:14px;">unzi

Mac OS X中Android Kernel的下载方法

在上一篇日志中,我总结了大家提供的下载Android源码的方法,这里再简单总结一下内核的下载方法.参考这里的介绍:http://source.android.com/source/building-kernels.html#downloading-sources ,下载内核源码相对简单很多.我这里下载下来一共1G多一些.在终端输入: $ git clone https://android.googlesource.com/kernel/common.git 如果不指定文件夹名,就直接clone到

国产手机插入mac os 系统中无法被识别的解决方法

一些国产手机插入mac os 系统中无法被识别,在命令行输入 system_profiler SPUSBDataType在, 然后将魅蓝note的vendor id 添加至 ~/.android/adb_usb.ini文件中,然后依次执行adb kill-server   adb start-server即可进入adb shell.   上述中的vendor id也可以到mac os中的 左上角苹果图标->关于本机->系统报告->硬件->usb中找到魅蓝note相关的那个usb接口