2012-01-02 21 views
0

all!Mac OS X中關機實用程序與終端的良好交互作用

到誰使用關機工具在附近的將來任命關機順序的Mac OS X的用戶的問題:

如果你看着它的輸出,你可能已經注意到,關閉按指定的時間點打印一些信息,但是(!)如果按回車,則返回bash。 (好像關機能夠在後臺運行時打印到其終端。)

它是如何做到的?我將不勝感激相關的C代碼片段或鏈接。

在此先感謝!

回答

1

關機只是發送消息到init系統。 init正在shell中打印消息。這是因爲Unix以前用於運行多用戶系統,並且init需要告訴大家系統正在關閉,而不僅僅是運行shutdown的系統管理員。

聽起來好像你想寫一些似乎立即退出的代碼,但仍然向控制檯發佈了一些東西。從用戶的角度來看,這是相當令人討厭的行爲,所以請不要這樣做。

然而,你可以很容易用shell腳本做到這一點:

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

然後在後臺運行,它

$ ./sleepy.sh &