在一個小的備份工具中,我試圖用system()寫入用戶cron表中的objective-c。Obj-C:system(「echo -e ...」)和cron無郵件
現在我這樣做:
NSString *croncmd = [NSString stringWithFormat:@"echo -e 'MAILTO=\"\" \n*/1 * * * * \"%@/Library/Application Support/LBKP/cron/croncall\" %@ > /dev/null 2>&1' | crontab" , NSHomeDirectory(), backup_id ];
system([croncmd UTF8String]);
正如你所看到的,第一我只是試圖用> /dev/null 2>&1
在錯誤的情況下襬脫了郵件的...但在OSX好像它不根本不工作,我仍然收到電子郵件。
然後在線閱讀一些信息我剛剛在cron表的開始處遇到了MAILTO=""
的用法,放棄了所有的輸出。
的問題是,我要呼應「新線」的crontab文件女巫通常可以使用-e
選項和\n
焦炭在終端進行,但如果我從我的程序做,我在得到這個控制檯:
17/09/11 16:32:52,590 [0x0-0x3a03a].com.home.LBKP: "-":0: bad minute
什麼問題? :S我如何擺脫這個錯誤或只是輸出?
謝謝!
首先,我建議你看看['NSTask'類參考](http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSTask_Class /Reference/Reference.html)。 'system()'是邪惡的。 –
嗨,我正在使用[與操作系統互動](http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/OperatingSystem/OperatingSystem.html)從蘋果在另一個應用程序,但在這一個系統()即使邪惡是最快的方式去...無論如何感謝反饋。 – TCB13