禁用OSX中的服务(services.msc)


36

OSX是否有Services.msc或ntsysv实用程序?我只想通过禁用任何不需要的服务及其端口来加强OSX。

Answers:


45

在OS X相当于Windows服务是launchd的services.msc在Windows上等效于OS X的是launchctl。由launchd管理的守护程序可以按需或可以定期触发(可在launchd.plist中配置)。

您可以从命令行(从Terminal.app/Applications/Utilities/)或使用类似Lingon的工具来管理守护程序

在命令行中:

  • 列出使用以下内容加载的座席/职位

    launchctl list
    
  • 使用(在引导之间持续存在)禁用和启用代理

    launchctl enable <name> or launchctl disable <name>
    
  • 立即停止并启动代理

    launchctl kickstart <name> or launchctl kill <name>
    

接下来的命令是已弃用的命令,您可能会在Internet上看到这些命令:

  • 使用删除代理/工作

    launchctl remove <name>
    
  • 仅使用禁用当前启动的会话的代理/作业

    launchctl unload <name>
    
  • 使用手动加载代理/作业

    launchctl load <name>
    

其他参考:


如此有效地启动了init.d等价物和launchctl之类的ntsysv吗?
多语2013年

是的,但是launchctl是命令行工具(打算在终端外壳中使用),与提供图形列表的ntsysv不同。
MK

我仍然很难理解代理和守护程序的工作方式。我认为守护程序更接近服务。所有守护程序都按需工作吗?这意味着它们仅在被程序调用后才使自己运行,然后关闭,如ssh。但是,如何确定哪些守护程序/代理处于活动状态并暴露其端口?如果不需要,我应该运行Netstat然后禁用那些守护程序吗?
polyglot

术语守护程序和代理有时可以互换使用。根据Apple的文档,守护程序涵盖系统和用户进程,而代理则更多地涉及用户进程。由launchd管理的守护程序可以按需或可以定期触发(可在launchd.plist中配置)。
MK

使用上面列出的命令- launchctl list查看守护程序列表。您还可以Activity Monitor用来查看所有过程。它们中的大多数都使用以“ d”结尾的约定,例如launchd,syslogd等。
MK

1

请注意,对于MacOS 10.13,您需要使用launchctl disable system /这将停止该过程,但会将定义保留在system文件夹中。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.