2010-07-11 19 views
1

基本上我通過/ bin/bash「[path]」或/ bin/sh「[path ]「,並且我通過/ bin/bash -c」[command]「或/ bin/sh -c」[command]「在終端中傳遞了命令。兩種方式都能正常工作但在我的Cocoa應用程序中,當我嘗試使用NSTask(使用/ bin/bash或/ bin/sh)完成同樣的事情時,該應用程序似乎從不響應。就好像程序被困在bash或sh中一樣。我試圖做這個,不用waitUntilExit,我也試着使用終止。仍然沒有運氣。有沒有其他人有這個問題,或有線索,爲什麼會發生這種情況?NSTask通過/ bin/sh或/ bin/bash問題發送參數Cocoa Objective-C

謝謝!

P.S.我現在不在我的工作計算機上,但如果需要,我可以稍後提供代碼。

回答

0

好的。所以我找到了可能需要它的其他人的解決方案。基本上,有一個問題是standardInput。該問題僅在Xcode控制檯中顯示,並不是您的應用程序的錯誤/錯誤。解決方法是添加以下行(基本定standardInput的東西隨機):

[task setStandardInput: [NSPipe pipe]]; 

在溶液上方,任務是正在使用的NSTask的變量名。