如何在Mac OS X上创建一个Service服务进程

在Mac上,共有4钟后台进程类型,可以参考Designing Daemons and Services。要实现启动服务,又不依赖于用户,可以使用Launch Daemon。

创建Launch Daemon

  • 运行Xcode,创建一个简单的命令行应用WebTwainService

    #import <Foundation/Foundation.h>
     
    int main(int argc, const char * argv[])
    {
     
        @autoreleasepool {
     
            // insert code here...
            NSLog(@"Hello, World!");
     
        }
     
        while (1)
        {
            sleep(100);
        }
        return 0;
    }
  • 编译工程,把WebTwainService放到/Applications/Dynamsoft/WebTwainService.
  • 参考 Create Launch Daemons and Agents,创建配置文件com.dynamsoft.WebTwainService.plist.

    • StandardErrorPath & StandardOutPath: service日志文件路径
    • KeepAlive. 设置成true. 一旦WebTwainService异常崩溃, 系统会自动重启服务。
    • Label: 一个唯一值
    • ProgramArguments: 可执行文件路径
  • 这个plist配置文件可放置的地方包括:
    • ~/Library/LaunchAgents
    • /Library/LaunchAgents
    • /Library/LaunchDaemons
    • /System/Library/LaunchAgents
    • /System/Library/LaunchDaemons
  • com.dynamsoft.WebTwainService.plist放到/Library/LaunchDaemons下
  • 要成功注册服务,还必须修改目录权限:sudo chown root  /Library/LaunchDaemons/com.dynamsoft.WebTwainService.plist.
  • 命令行中输入sudo launchctl运行launchd
  • 注册服务load -D system /Library/LaunchDaemons/com.dynamsoft.WebTwainService.plist。然后我们可以看到服务被加载了:

  • 输入list可以查看运行的进程

  • 现在重启系统,然后打开日志/var/log/webtwain.log,查看服务是否在运行了:

时间: 2024-11-05 21:39:57

如何在Mac OS X上创建一个Service服务进程的相关文章

如何在Mac OS X上安装 Ruby运行环境

本页主要介绍如何用一条靠谱的路子快速安装 Ruby 开发环境. 系统需求 首先确定操作系统环境,不建议在 Windows 上面搞,所以你需要用: Mac OS X 以下代码区域,带有 $ 打头的表示需要在控制台(终端)下面执行(不包括 $ 符号) 步骤1 - 安装 RVM (ruby version manger ruby 版本管理) RVM 是干什么的这里就不解释了,后面你将会慢慢搞明白. $ \curl -L https://get.rvm.io | bash -s stable --rub

ruby运行环境怎么在mac os x上安装

今天给大家讲讲ruby入门教程,主要针对新入门的ruby开发这,教大家如何在mac os x上安装ruby开发环境,本页主要介绍如何用一条靠谱的路子快速安装 Ruby 开发环境. 此安装方法同样适用于产品环境! 系统需求 首先确定操作系统环境,不建议在 Windows 上面搞,所以你需要用: Mac OS X 任意 Linux 发行版本(Ubuntu,CentOS, Redhat, ArchLinux ...) 强烈新手使用 Ubuntu 省掉不必要的麻烦! 以下代码区域,带有 $ 打头的表示需

Mac OS X上用CoreCLR运行一个真正的.NET控制台程序

这个真正的控制台程序来自corefxlab,名叫CoreClrHelloWorld,是一个跨平台的.NET控制台演示程序,可以显示微软.Linux.苹果的logo. CoreClrHelloWorld代码如下(代码中省略了拼接logo的字符串,完整代码见这里): using System; internal class Program { private static void Main(string[] args) { if (args.Length == 1 && args[0] ==

Mac OS X上IntelliJ IDEA 13与Tomcat 8的Java Web开发环境搭建

这标题实在有点拗口,不知道怎么写好,但看了标题也就明白文本的内容.最近几天在折腾这些玩意儿,所以写写总结.除了环境搭建,本文还是一篇入门级的上手教程. 去下载一些东西 JDK安装 Tomcat安装 Tomcat的配置 配置管理员账号 配置Tomcat端口 配置HTTPS 添加web应用 IntelliJ的安装 创建Java Web项目 运行Java Web项目 打成war包 去下载一些东西 老样子,先废话几句,IntelliJ IDEA,这个名字不知道谁想出来的,也真够拗口的,发音大致如此:[i

Mac OS X上使用Wireshark抓包

Wireshark针对UNIX Like系统的GUI发行版界面采用的是X Window(1987年更改X版本到X11).Mac OS X在Mountain Lion之后放弃X11,取而代之的是开源的XQuartz(X11.app).因此,在Mac OS X上安装Wireshark之前,需要先下载安装XQuartz. 1.安装XQuartz XQuartz(XQuartz-2.7.6.dmg)安装完成后,按照提示需要注销重新登录,以使XQuartz作为默认的X11 Server. 安装成功后,在终

phpMyAdmin在Mac OS X上的配置和使用

本文主要记录phpMyAdmin在Mac OS X上的配置和使用,避免朋友们走弯路,浪费不必要的时间. 1. 下载: 2. 在"设置"中打开" web share", 即可开启Mac自带的Apache, 也可以通过sudo apachectl restart, 重启Apache. 3. 源码放入 Apache的配置文件—httpd.cnf中DocumentRoot项指定的目录中, 4. 修改DocumentRoot下地phpmyadmin源码的访问权限. chmod

如何在Mac OS X上将PDF转换为Microsoft Word

Lighten PDF to Word Converter for Mac是一个简单但功能强大的应用程序,可将PDF文件准确,轻松地转换为Microsoft Word.它可以保留原始内容的布局,格式,图形和文本内容,因此您可以通过减少重新键入内容或重新格式化内容的需求来提高工作效率.使用极其简单和清晰的界面,您可以快速将PDF文件转换为Word文档. 第一步:添加文件 单击“添加文件”按钮以导入要转换的PDF文件,或单击菜单上的“文件”->“添加文件”以开始使用.您可以一次导入无限的PDF文件.

在Mac OS X上利用Spotlight搜索代码

用grep来搜代码和方便,最原生态了,常用的: ? ~ grep 'NuPlayer' -iInr --color ./aosp 其中`i`表示大小写忽略:`I`表示忽略binary文件:`n`显示搜索结果的行号:`r`表示递归搜索子目录 不过grep搜索有点慢,网上也很多通过建立索引加快搜索速度的方法:"other grep-like tools and indexing tools" 一向用户体验著称的Mac指定不会缺少这个,`Spotlight`就是系统自带的基于索引搜索工具,使

在Mac OS X上用自己编译出的CoreCLR运行.NET程序

当昨天被Mac OS X上无法编译CoreCLR的问题困扰时(详见Mac OS X上尝试编译CoreCLR源代码),后来发现这个难题竟然被神人@kangaroo给解决了,连CoreCLR的微软开发人员也大吃一惊(详见#105). @kangaroo This is awesome! Thank you so much for doing it! I’ll start reviewing it in the morning. 今天发现,@kangaroo修改后可在OS X上编译的版本已被合并到Co