Mac OS 的开机启动方式

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

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

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

sudo vim /Library/LaunchDaemons/org.mongodb.mongod.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>org.mongodb.mongod</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/mongodb-2.0.3/bin/mongod</string>
<string>run</string>
<string>--config</string>
<string>/usr/local/mongodb-2.0.3/mongod.conf</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>WorkingDirectory</key>
<string>/usr/local/mongodb-2.0.3</string>
<key>StandardErrorPath</key>
<string>/usr/local/mongodb-2.0.3/log/error.log</string>
<key>StandardOutPath</key>
<string>/usr/local/mongodb-2.0.3/log/mongo.log</string>
</dict>
</plist>
粘贴完以后,我们需要对上面的内容做两处修改:一个是“redis-server”的路径,这里需要改为你自己的安装路径(可以使用”which redis-server”命令来查看具体的路径)。还有一个就是redis配置文件的路径,这个是可选的,如果没有使用配置文件那么就把第二个删除,如果使用了配置文件,一定要改为正确的路径。

将plist文件载入到launchd

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

参考:

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

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

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

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

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

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

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

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

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

  4. centos下设置nodejs开机启动

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

  5. Centos7 设置Mongodb开机启动-自定义服务

    (1).在/lib/systemd/system/目录下新建mongodb.service文件,内容如下 [Unit] Description=mongodb After=network.target ...

  6. mac 下nginx加入开机启动

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

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

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

  8. Mac下配置nacos开机启动

    nacos能正常启动后,开始制作启动app. 1.打开自带的 自动操作 2.点击选项 3.选择应用程序 4.搜索shell,点击运行Shell脚本,写入脚本,$NACOS 为nacos的绝对路径,保存 ...

  9. Linux下设置Tomcat开机启动

    1.进入/etc/rc.d/init.d,新建文件tomcat,并让它成为可执行文件 chmod 755 tomcat. #!/bin/bash # # /etc/rc.d/init.d/tomcat ...

随机推荐

  1. (转)ngui3.5.7 版本Scroll View实现方法

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://xyo123.blog.51cto.com/6369437/1405861 现在网 ...

  2. [Node.js] Stream all things!

    Node.js come alone with many Stream API. Stream is useful when handling large trunck of data. For ex ...

  3. Jmeter+Ant+Jenkins搭建持续集成的接口测试框架

    https://my.oschina.net/hellotest/blog/516079 摘要: 一个系统通常有多个接口,软件的生命周期中,我们会不断的去优化老的接口和开发新的接口,那么在这个过程中, ...

  4. GP开发示例:数据库去重

    这个例子专业讲解基于ArcEngine使用GP开发的过程及遇到的问题.更多GP使用方法:GP使用心得 功能需求:现在外业第一次数据(简称调绘.mdb)和第二次数据(简称检查.mdb)有重复.第二次是在 ...

  5. MyEclipse开发Rest服务入门

    MyEclipse支持Rest服务,开发起来非常方便,下面我就举一个计算机的例子: 实现功能:加.减.乘.除: 效果如下: Rest服务要点:每个服务或任何东西都有一个URI: 步骤1:创建Web S ...

  6. Android 所遇问题(一)

    1.打开Eclipse更新了一下sdk和adt到22.6,更新一切都很顺利,可以新建一个工程时发现多了一个appcompat_v7的内容.查看项目发现本来MainActivity是继承Activity ...

  7. iOS \U7ea2 乱码 转换

    通常网络请求的数据,如果不做处理在输出时显示是 \U 之类的编码的: 不需要导入别的类库解决方法 - (NSString *)replaceUnicode:(NSString *)unicodeStr ...

  8. PHP高级教程-Cookie

    PHP Cookie cookie 常用于识别用户. Cookie 是什么? cookie 常用于识别用户.cookie 是一种服务器留在用户计算机上的小文件.每当同一台计算机通过浏览器请求页面时,这 ...

  9. eclipse导入web项目各种错误

    1.JavaWeb:报错信息The superclass "javax.servlet.http.HttpServlet" was not found on the Java Bu ...

  10. 关于gcc、glibc和binutils模块之间的关系,以及在现有系统上如何升级的总结

    http://blog.csai.cn/user1/265/archives/2005/2465.html 一.关于gcc.glibc和binutils模块之间的关系 1.gcc(gnu collec ...