2
我想知道用戶登錄後第二秒鐘的時間。 (TickCount
不好,因爲這是從系統啓動)如何找出登錄後的秒數?
我知道我可以使用last
或who
獲得時間戳,但我正在尋找一個簡單但強大的解決方案。 我會在可可中使用它,但unix命令是好的。
我想知道用戶登錄後第二秒鐘的時間。 (TickCount
不好,因爲這是從系統啓動)如何找出登錄後的秒數?
我知道我可以使用last
或who
獲得時間戳,但我正在尋找一個簡單但強大的解決方案。 我會在可可中使用它,但unix命令是好的。
最後,我使用getlastlogx(),感謝Rob Napier將我指向正確的方向(+1)。
這是我想出了:
struct lastlogx *lastLogin;
uid_t myuid = getuid();
lastLogin = getlastlogx(myuid,nil);
NSDate *dateAtLogon = [NSDate dateWithTimeIntervalSince1970:lastLogin->ll_tv.tv_sec];
NSDate *currentDate = [NSDate date];
NSTimeInterval timeSinceLogin = [currentDate timeIntervalSinceDate:dateAtLogon];
NSLog(@"%1.1f seconds since logon",timeSinceLogin);
查看utmpx(5)界面,具體爲endutxent(3)。這是您從who
和last
查看內容的編程界面。
如果我使用getlastlogx()從一個非管理員帳戶生成異常和崩潰,因爲lastlogin是nill。我做了一個解決方法,但很高興知道如何從非previliged帳戶獲取信息。 – Tibidabo