Mac设置开机启动

Mac设置开机启动

发表于 2018-11-27 |  更新于 2018-12-13 |  分类于 系统工具

本文针对命令行使用的开发工具或自己编写的脚本设置开机启动,图形化界面的程序仅需要设置->用户与群组->登录项中即可配置

相比于 Linux 开机启动设置的简单方便–配置 rc.local 文件即可,macOS 设置开机启动略显麻烦

如果是使用 homebrew 安装软件自然不用考虑开机启动这回事,但有时候想执行自己的脚本或者有特殊需求,就不得不自己处理开机启动了

使用登录项添加可执行脚本

在用户主目录编写一个 sh 脚本,例如

tesh.sh 文件内容

1234
#!/bin/bash

# 在用户主目录创建一个文件touch ~/test.txt

添加可执行权限

1
chmod 755

进入设置->用户与群组->登录项,点 + 号,选择 test.sh 文件即可

重启电脑,验证是否新建了文件,如存在说明配置成功,修改该文件内容为你想要的配置

该文件将会在开机时执行,可在命令行中执行的开机启动项均可在此文件中配置

launchctl 加载 plist 文件

macOS 开机启动一般使用 launchctl 加载 plist 文件

plist 文件放置处

12345
~/Library/LaunchAgents          由用户自己定义的任务项/Library/LaunchAgents           由管理员为用户定义的任务项/Library/LaunchDaemons          由管理员定义的守护进程任务项/System/Library/LaunchAgents    由 macOS 为用户定义的任务项/System/Library/LaunchDaemons   由 macOS 定义的守护进程任务项

建议放在 ~/Library/LaunchAgents 下面

下面再来理解几个基础概念

/System/Library 和 /Library和~/Library 目录的区别

123
/System/Library     存放 Apple 自己开发的软件/Library            系统管理员存放的第三方软件~/Library           用户自己存放的第三方软件

LaunchDaemons 和 LaunchAgents 的区别

12
LaunchDaemons    用户未登陆前就启动的服务(守护进程)LaunchAgents     用户登陆后启动的服务(守护进程)

plist 文件示例

12345678910111213141516
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN><plist version="1.0"><dict>    <key>Label</key>    <string>com.example.exampled</string>    <key>ProgramArguments</key>    <array>         <string>exampled</string>    </array>    <key>KeepAlive</key>    <true/>    <key>RunAtLoad</key>    <true/></dict></plist>

launchd.plist 的部分键值说明

Label(必须)

该项服务的名称

ProgramArguments

指定可执行文件路径及其参数,比如执行 ls -a,对应到该配置中,应该写作

12345
<key>ProgramArguments</key><array>     <string>ls</string>              <string>-a</string></array>

RunAtLoad(可选)

标识 launchd 在加载完该项服务之后立即启动路径指定的可执行文件。默认值为 false,设置为 true 即可实现开机运行脚本文件

StartCalendarInterval(可选)

该关键字可以用来设置定时执行可执行程序,可使用 Month, Day, Hour, Minute, Second 等子关键字,它可以指定脚本在多少月,天,小时,分钟,秒,星期几等时间上执行,若缺少某个关键字则表示任意该时间点,类似于 Unix 的 Crontab 计划任务的设置方式,比如在该例子中设置为每小时的 20 分的时候执行该命令

KeepAlive(可选)

是否保持持续运行

所有 key 关键字详细使用说明可以在 macOS 终端下使用命令 man launchd.plist 查询

检查 plist 语法是否正确

1
plutil ~/Library/LaunchAgents/example.plist

载入配置,使配置生效

1
launchctl load ~/Library/LaunchAgents/example.plist

卸载配置

1
launchctl unload ~/Library/LaunchAgents/example.plist

查看服务运行状态

1
launchctl list

原文地址:https://www.cnblogs.com/timxgb/p/10419708.html

时间: 2024-10-06 00:48:25

Mac设置开机启动的相关文章

centos7安装docker并设置开机启动

版本要求:查看内核版本,需大于3.10 [[email protected] ~]# uname -r 3.10.0-327.10.1.el7.x86_64 更新内核:如果是生产机器务必慎重更新内核,避免出现不必要的问题. sudo yum update 安装docker [[email protected] ~]# curl -sSL https://get.docker.com/ | sh + sh -c 'sleep 3; yum -y -q install docker-engine'

如何给自己编写的程序隐蔽的设置开机启动

比如说,我们自己编写了一个C#的程序,想设置为开机自动启动.当然我们可以从网上找到方法,一般的做法就是修改注册表文件,找到开机启动项,然后把这个程序的路径写入到某个节点就可以.如下截图所示,这些都是开机后会自动启动的程序. 有时候我们可能会有一些很顽皮的想法,我们希望自己程序在别人的电脑上运行的时候,暗地里把自己设置为开机启动.现在就有一些问题,因为现在电脑上都装有杀毒软件,比如说360,你修改注册表开机启动项,属于敏感操作,会被安全卫士拦截,然后提示用户正在有软件试图修改开机启动项,询问用户是

apache与mysql添加进系统服务并设置开机启动

         apache与mysql添加进系统服务并设置开机启动 apache 1  cp /usr/local/apache/bin/apachectl /etc/init.d/httpd 2  chkconfig --add httpd 出现错误service httpd does not support chkconfig 打开 vi /etc/rc.d/init.d/httpd 添加(#!/bin/sh下面) # chkconfig: 345 85 15 # description

linux jexus 服务 设置开机启动

linux jexus 服务 设置开机启动 linux的服务开机设置一般在 /etc/init.d/里 而jexus的默认安装目录在 /usr/jexus里 启动文件为 jws 参数 有start stop restart 这里贡献一个刚写好的jexus的开启启动脚本 #!/bin/bash ### BEGIN INIT INFO # # Provides: jws # Required-Start: $local_fs $remote_fs # Required-Stop: $local_fs

win7如何设置开机启动项

想必有很多人都很关心自己的电脑开机速度吧,当然改善开机的方式有很多,这里为大家介绍的是设置开机启动项,当我们电脑的开机启动项过多,开机的时候就会一一加载,这样就会导致开机速度变得很慢,我们可以尽量减少程序开机启动项,但是一些电脑新手却不知道要怎么设置,那么现在就跟大家分享一下win7如何设置开机启动项吧. 方法一. 1.首先打开"开始菜单-运行",在运行对话框中输入msconfig,回车打开系统配置界面: 2.然后在弹出来的配置窗口中切换到"启动"选项卡,在列表中将

04 svn设置开机启动

一:设置开机启动[dos命令] 格式: sc create 服务名称 binPath=空格"安装目录/svnserve.exe -r 版本库地址目录 --service" start=auto 案例: sc create svnserver binPath= "d:/Program Files/Subversion/bin/svnserve.exe -r d:/svnserver --service" start=auto 二:打开服务 net start svns

Centos设置开机启动Apache和Mysql[总结]

Centos设置开机启动Apache和Mysql[总结] 1.前言 最近学习搭建wordpress,需要用到apahce和mysql.我是下载源代码进行安装的,安装在/url/local目录下,每次开机都需要手动启动,有点麻烦.如是想设置开机启动,从网上查了一下,如何设置,总结一下,方便以后使用. 2.设置方法 有两种方法,一种是修改配置文件,一种是通过添加启动项. 方法一:根据系统启动的初始化过程,修改配置文件 Centos中的运行模式2.3.5都把/etc/rc.d/rc.local做为初始

Linux Redis自动启动,Redis开机启动,Linux Redis设置开机启动

Linux Redis自动启动,Redis开机启动,Linux Redis设置开机启动 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ©Copyright 蕃薯耀 2017年7月21日 http://www.cnblogs.com/fanshuyao/ Linux Redis安装,Linux如何安

centos7设置开机启动命令

1.设置开机启动 systemctl enable xxx.service   如:systemctl enable nginx.service 2.设置禁止开机启动 systemctl disable xxx.service 如:systemctl disable nginx.service 3.查看服务状态信息 systemctl status xxx.service 如:systemctl status nginx.service 4.仅显示活动状态 systemctl is-active