我在终端中尝试了这些命令:
system_profiler | grep CPU \速度
system_profiler | grep 机器\型号
system_profiler | grep CPU \ 类型
但它说:
服务:此命令仍然有效,但已弃用。请改用 launchctl(8)
那么新的命令是什么?
答案1
在大多数 *nix 类型的系统上,/sbin/service 是一个简单的 shell 脚本,可以在最小环境中运行某些东西/etc/init.d
。它或多或少等同于说
/etc/init.d某物开始/停止/状态/其他
所以 /sbin/service 的常见使用模式是启动、停止或重新启动守护进程,但launchctl
和launchd
是 OS X 对此类操作的新顺序。
事实上,OS X 甚至没有 init.d,所以它有一个编译的二进制版本的 /sbin/service,谁知道呢?
看起来 system_profiler 需要向守护进程询问状态,而您安装的某些程序仍在运行 /sbin/service 来执行此操作。我认为这个问题没有简单的解决办法,但软件升级可能最终会为您解决这个问题。
答案2
这些烦人的消息会发送到 stderr,而你想要的输出会发送到 stdout。我试过了
system_profiler 2>/dev/null | grep Processor\ Speed
在 10.6.4 下得到输出
Processor Speed: 2.5 GHz
由于您搜索了错误的字符串,因此您没有获得任何输出到标准输出。
答案3
除了非 OSX 信息外,该服务在很多版本的 Linux 上也已弃用,通常用 代替systemd
。但是,systemd
不使用旧系统(因为该系统才是真正被弃用的系统)。如果您在 Linux 机器上init.d
找不到任何控件,请尝试使用。rc/service
systemctl