公司最近购进了几台MAC台式电脑,要在上面为一个项目做测试。 MAC这么高大上的东西,还是第一次接触,折腾了半天好不容易安装了一些需要的应用服务上去,跑了一下还不错。

公司提倡节约用电,下班之后要把所有电脑都关掉,这几台高大上的MAC也不例外。机器是给开发人员测试用的,每次开机,都得跑过去给他们启动这几个服务比较麻烦,需要想办法让这些服务开机自启动。 查找了一些资料,终于搞定了。

贴代码之前,大家先普及基础知识,链接在此:http://www.tanhao.me/talk/1287.html

我用的是Launchd Daemon来搞定的。

这里以开机自启动Nginx Server为例子:

程序安装和配置方法,请自行查找资料.

登陆MAC,开启命令行终端

1
2
3
4
sudo su //切换到root
cd /System/Library/StartupItems //进入可以配置开机启动的目录
mkdir nginx //为你要启动的服务创建一个目录
cd nginx //进入目录

vim nginx //编辑一个启动脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/bin/sh  
 
/etc/rc.common //引入文件
 
StartService (){    
    ConsoleMessage "Start Nginx Service"    
    /usr/local/bin/nginx -c /usr/local/etc/nginx/nginx.conf //这里是自定义命令
}
 
StopService (){    
    return 0
}
 
RestartService (){    
    return 0
}
 
RunService "$1"

vim StartupParameters.plist //对应的配置文件

1
2
3
4
5
6
{        
    Description     = "Start Nginx Service";        
    Provides        = ("nginx");        
    Requires        = ("Network");        
    OrderPreference = "None";
}

到此完结,请重启你的MAC系统来验证程序是否可以正常启动。

本文出自 “小崔的成长之路” 博客,请务必保留此出处http://cyr520.blog.51cto.com/714067/1561353

http://www.tanhao.me/talk/1287.html/

在MAC系统里添加开机启动任务(但是怎么才能知道自己程序的固定位置呢?)的更多相关文章

  1. mac系统下mysql开机启动总是3307

    修改了mysql的my.cnf可还是不行,启动后就是3307,必须关掉再启动. 觉得可能是mac系统在哪里写死了开机启动项. http://queforum.com/mysql/1012987-mys ...

  2. 不同linux系统添加开机启动程序的命令

    see http://phpcj.org/blog/%E4%B8%8D%E5%90%8Clinux%E7%B3%BB%E7%BB%9F%E6%B7%BB%E5%8A%A0%E5%BC%80%E6%9C ...

  3. windows添加开机启动项

    http://www.cnblogs.com/jokey/archive/2010/06/17/1759370.html添加开机启动项(通过注册表) 例子:增加QQ开机启动项 第一步:找到注册表的启动 ...

  4. AIX 添加开机启动项

    在学习本主题之前,还是先学习一些AIX关于启动的基础知识,如果你只关心如何开机自动重启程序,请跳过第一章.第二章. ----------------------------第一章 AIX开机启动过程介 ...

  5. Linux 添加开机启动项的三种方法

    linux 添加开机启动项的三种方法. (1)编辑文件 /etc/rc.local 输入命令:vim /etc/rc.local 将出现类似如下的文本片段: #!/bin/sh## This scri ...

  6. Win10怎么添加开机启动项?Win10添加开机自动运行软件三种方法

    Win10管理开机启动项的方法相信大家已经非常熟悉,msconfig命令各系统都通用,那么很多用户发觉Win10和Win7 XP等系统不同,没有启动文件夹,那么我们怎么添加开机启动项呢?如晨软件或程序 ...

  7. 如何修改Ubuntu双系统的默认开机启动项

    转自:http://jingyan.baidu.com/article/ed15cb1b05d0311be369818a.html 对 于安装Ubuntu系统和windows系统(windows xp ...

  8. centos7之添加开机启动服务/脚本

    一.添加开机启动脚本 #!/bin/bash # THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES # # It is highly advisable to ...

  9. ubuntu 添加开机启动服务

    新建umpserver.service [Unit] Description=UMPServer After=syslog.target network.target remote-fs.target ...

随机推荐

  1. Linux升级Python提示Tkinter模块找不到解决

    一.安装tkinter 在Linux中python默认是不安装Tkinter模块, [root@li250- ~]# python Python (r266:, Feb , ::) [GCC (Red ...

  2. java线程池分析和应用

    比较 在前面的一些文章里,我们已经讨论了手工创建和管理线程.在实际应用中我们有的时候也会经常听到线程池这个概念.在这里,我们可以先针对手工创建管理线程和通过线程池来管理做一个比较.通常,我们如果手工创 ...

  3. 对象作为返回值类型&&链式编程

    package com.imooc; class Student{ public void study(){ System.out.println("学生学习"); } } cla ...

  4. OC-nonatomic和atomic相关

    1.原子和非原子属性1.1>OC在定义属性时又nonatomic和atomic两种选择(1)atomic:原子属性,为setter方法加锁(默认就是atomic)(2)nonatomic:非原子 ...

  5. La=LaULb (循环链表)

    #include<stdio.h> typedef struct LNode { int data; struct LNode *next; }LNode,*LinkList; void ...

  6. BZOJ 3675: [Apio2014]序列分割( dp + 斜率优化 )

    WA了一版... 切点确定的话, 顺序是不会影响结果的..所以可以dp dp(i, k) = max(dp(j, k-1) + (sumn - sumi) * (sumi - sumj)) 然后斜率优 ...

  7. Qt学习 之 多线程程序设计(QT通过三种形式提供了对线程的支持)

    QT通过三种形式提供了对线程的支持.它们分别是, 一.平台无关的线程类 二.线程安全的事件投递 三.跨线程的信号-槽连接. 这使得开发轻巧的多线程Qt程序更为容易,并能充分利用多处理器机器的优势.多线 ...

  8. Spring Boot 属性配置和使用(转)

    Spring Boot 属性配置和使用 Spring Boot 允许通过外部配置让你在不同的环境使用同一应用程序的代码,简单说就是可以通过配置文件来注入属性或者修改默认的配置. Spring Boot ...

  9. python yaml使用

    YAML Ain't Markup Language 和GNU一样,YAML是一个递归着说“不”的名字.不同的是,GNU对UNIX说不,YAML说不的对象是XML. YAML不是XML. 为什么不是X ...

  10. ligh@local-host$ ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.3

    ligh@local-host$ ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.3