Mac OS 的开机启动方式

launchd 是 Mac OS 下用于初始化系统环境的关键进程,它是内核装载成功之后在OS环境下启动的第一个进程。其实它的作用就是我们平时说的守护进程,简单来说,用户守护进程是作为系统的一部分运行在后台的非图形化程序。采用这种方式来配置自启动项很简单,只需要一个plist文件,该plist文件存在的目录有:

  • LaunchDaemons ~/Library/LaunchDaemons
    用户登陆前运行 plist(程序)
  • LaunchAgents ~/Library/LaunchAgents
    用户登录后运行相应的 plist(程序)

你需要.plist文件来指定需要开机启动的程序。首先来创建一个.plist文件:

sudo vim /Library/LaunchDaemons/io.redis.redis-server.plist

以下是开机启动的.plist配置文件的示例:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>io.redis.redis-server</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/redis-server</string>
<string>/usr/local/etc/redis.conf</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
粘贴完以后,我们需要对上面的内容做两处修改:一个是“redis-server”的路径,这里需要改为你自己的安装路径(可以使用”which redis-server”命令来查看具体的路径)。还有一个就是redis配置文件的路径,这个是可选的,如果没有使用配置文件那么就把第二个删除,如果使用了配置文件,一定要改为正确的路径。

将plist文件载入到launchd

编辑完plist文件以后,我们需要将该文件载入到launchd里,使用launchctl命令,具体命令如下:
sudo launchctl load /Library/LaunchDaemons/io.redis.redis-server.plist
重启以后,redis就可以开机启动了。如果不想重新启动,也可以使用如下命令:
sudo launchctl start io.redis.redis-server
如果想关闭redis的话,使用如下命令:
sudo launchctl stop io.redis.redis-server
为了使用方便,我们可以给redis的开启和关闭命令设置别名:
alias redisstart='sudo launchctl start io.redis.redis-server'
alias redisstop='sudo launchctl stop io.redis.redis-server'

参考:

1、https://www.teakki.com/p/57e224390906a5d20a8f90d3

2、https://www.jianshu.com/p/e73978416920


mac下设置redis开机启动方法的更多相关文章

  1. mac下设置mongodb开机启动方法

    Mac OS 的开机启动方式 launchd 是 Mac OS 下用于初始化系统环境的关键进程,它是内核装载成功之后在OS环境下启动的第一个进程.其实它的作用就是我们平时说的守护进程,简单来说,用户守 ...

  2. centos下设置nodejs开机启动

    node环境的安装便不再赘述了,网上有很多教程,也非常简单. 上一篇博客介绍了用nginx代理nodejs.这一篇是使用pm2实现nodejs的自动重启. 什么是pm2? 如官网介绍的,pm2是nod ...

  3. Mac 设置redis开机启动

    1.创建一个plist文件 首先我们需要在/Library/LaunchDaemons目录下创建一个plist文件,使用如下命令: 复制代码代码如下: sudo vim /Library/Launch ...

  4. linux centOS7 设置 redis 开机启动

    1.为了让redis-server能在系统启动时自动运行,需要将redis服务作为守护进程(daemon)来运行,我们回/usr/local/cluster/7000/目录中找到一个redis.con ...

  5. centos7 下设置 mongodb 开机启动 (重点)

    centos 7的开机启动跟之前版本的centos有很大不同.现在用 systemctl命令代替了之前的chkconfig 和 service 命令 注册到开机启动的方法如下: 在系统服务目录下新建m ...

  6. mac 下nginx加入开机启动

    通过brew install nginx后设置开机启动项 sudo cp /usr/local/opt/nginx/*.plist /Library/LaunchDaemonssudo launchc ...

  7. Linux 设置Redis开机启动

    Debian 也就是Ubun16.04 亲测可用 http://www.tuicool.com/articles/UR73ieq Centos7.0 http://blog.csdn.net/alex ...

  8. Mac下使Iterm2开机启动不显示界面

    一.在登录项上添加Iterm2的启动项 二.打开Iterm2 1.启动后会显示Iterm2,此时点击关闭按钮,保证桌面上没有任何的控制台窗口. 2.按[Command]+[Shift]+[S],保存名 ...

  9. Windows8系统下设置Mongodb开机启动

    1. 官网下载安装 MongoDB https://www.mongodb.com/ 2. 环境变量设置 把 mongod.exe 所在路径加入到环境变量的PATH, 我这里安装的路径是 D:\db\ ...

随机推荐

  1. nginx rewrite only specific servername to https

    需求: 把某个域名的80端口服务  ----> 重定向转到 这个域名的 443端口的服务.   server { listen 80; server_name xxx.abcd.com.cn; ...

  2. ArcGIS Pro体验03——主界面

    主界面和Office类似,应该上手比较快.新建Map后,加载了美国地图,毕竟是ESRI公司嘛.除项目(PROJECT),另外还有六个菜单面板,分别是地图(MAP).插入(INSERT).分析(ANAL ...

  3. MyEclipse中使用Junit插件进行单元测试

    http://wenku.baidu.com/view/ec904a116bd97f192279e9a6.html

  4. ZH奶酪:putty远程登录Linux服务器非常慢

    11.pytty远程登录Linux服务器非常慢 http://www.it165.net/os/html/201209/3425.html 12.启动SSHD服务报错 http://blog.chin ...

  5. git 使用流程(使用代码库github)

    一:先在github 上注册账号,并创建一个项目: 二:mac 命令行-进入自己的工作空间 1:建立库     git init 2:初始化配置 git config --global user.na ...

  6. Java从零开始学二十五(枚举定义和简单使用)

    一.枚举 枚举是指由一组固定的常量组成的类型,表示特定的数据集合,只是在这个数据集合定义时,所有可能的值都是已知的. 枚举常量的名称建议大写. 枚举常量就是枚举的静态字段,枚举常量之间使用逗号隔开. ...

  7. 笔试题之javaweb

    Java web部分 1.Tomcat的优化经验      答:去掉对web.xml的监视,把jsp提前编辑成Servlet.      有富余物理内存的情况,加大tomcat使用的jvm的内存 2. ...

  8. java经典小程序

    1,编写程序,判断给定的某个年份是否是闰年. 闰年的判断规则如下: (1)若某个年份能被4整除但不能被100整除,则是闰年. (2)若某个年份能被400整除,则也是闰年. import java.ut ...

  9. PHP $_POST

    $_POST 变量用于收集来自 method="post" 的表单中的值. $_POST 变量 $_POST 变量是一个数组,内容是由 HTTP POST 方法发送的变量名称和值. ...

  10. js toSting方法实现

    function toString (val: any): string { return val == null ? '' : typeof val === 'object' ? JSON.stri ...