在Mac OS X下,关闭实用程序与终端的良好交互

时间:2012-01-02 17:09:15

标签: macos unix terminal

所有!

向所有使用关闭实用程序指定近期关闭序列的Mac OS X用户提出的问题:

如果您查看了它的输出,您可能已经注意到关闭会在指定的时间点接近时打印一些信息,但如果按Enter键,则(!)你回来了 bash 。 (似乎关闭能够在后台运行时打印到其终端。)

它是如何做到的?我会很感激相关的C代码片段或链接。

提前致谢!

1 个答案:

答案 0 :(得分:1)

Shutdown只会向init系统发送一条消息。 init正在shell中打印消息。这是因为Unix以前用于运行多用户系统,init需要告诉每个人系统正在关闭,而不仅仅是运行shutdown的系统管理员。

听起来你想要编写一些似乎立即退出的代码,但仍会向控制台发出一些东西。从用户的角度来看,这是相当令人讨厌的行为,所以请不要这样做。

但是,您可以使用shell脚本轻松完成此操作:

#!/bin/sh
sleep 60
echo "feeling sleepy?"

然后在后台运行

$ ./sleepy.sh &