如何在Mac OS X Snow Leopard上设置终端脚本在启动时运行?

11

你好,我正在使用Mac OS X 10.6.8。如何设置一些简单的终端命令在启动时运行,就像我自己打开终端并输入这些命令一样?我基本上需要在启动时启动几个服务器守护程序。我在终端中手动启动它们的命令看起来像sudo ruby myrubyserverscript_control.rb start。如果这是非常明显的或者已经以某种方式在这里回答了一百万次,而我不知道足够认出来,请提前谅解。

2个回答

13

这里有两件不同的事情:

  1. 您想在系统启动(引导)后运行脚本,或者
  2. 当您登录时

要在启动时运行脚本,您应将一个 XML 配置文件放入 /Library/LaunchDaemons 目录中(launchd 进程将在引导时运行脚本)

要在登录后运行脚本 - 参见这个链接:https://dev59.com/C2w15IYBdhLWcg3wuuCn#6445525


我以前从未编写过XML配置文件。但是,我在我的LaunchDaemons文件夹中看到了两个XML文件。我是否可以简单地创建另一个文件,只需将“程序参数”替换为我想要执行的命令即可? - pitachip
1
嗯...不完全是。你可以尝试,但强烈建议阅读此文档:https://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man5/launchd.plist.5.html 并理解你所做的事情。如果你已经安装了Xcode,你可以在Xcode中创建该文件(它是属性列表XML)。但你也可以使用任何文本编辑器创建它。需要将“Label”更改为你的文件名,这里有很多东西。抱歉,但是如果不知道更多信息,很难准确地告诉你应该做什么(例如,你的脚本如何运行,想要在哪里看到错误消息,想要定期运行等等。请参见链接)。 - clt60

10

打开“系统偏好设置”,进入“用户与群组 / 登录项”选项卡。您可以使用 + 按钮添加脚本,或将其拖到项目列表中。通常在此上下文中使用的是以 .command 结尾的脚本,但它们只是 bash 脚本。我想您可以使用任何可执行且有正确的 #! 行的脚本。


这样的脚本会在当前用户下执行,还是以 root 身份执行? - mareoraft

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接