我正在開發一個命令行應用程序來幫助我啓動任務,以通過返回一個BOOL來知道任務是否正在運行,問題出現在我需要做一個命令行並獲取輸出以供進一步解析。獲取輸出的命令解析在c/MacOSX
我在C/C++中編寫它,所以我不能使用它的NSTask,關於如何實現目標的任何想法?
命令
sudo launchctl list -x [job_label]
如果我使用系統(),我無法獲得輸出,所以在進一步研究我的popen()來了,但沒有成功那裏。
在此先感謝。
我正在開發一個命令行應用程序來幫助我啓動任務,以通過返回一個BOOL來知道任務是否正在運行,問題出現在我需要做一個命令行並獲取輸出以供進一步解析。獲取輸出的命令解析在c/MacOSX
我在C/C++中編寫它,所以我不能使用它的NSTask,關於如何實現目標的任何想法?
命令
sudo launchctl list -x [job_label]
如果我使用系統(),我無法獲得輸出,所以在進一步研究我的popen()來了,但沒有成功那裏。
在此先感謝。
你會想創建一個管道,從中你可以讀取程序的輸出。這將涉及使用pipe
,fork
,exec*
,甚至可能是dup
。有一個很好的教程the linux documentation project。
您可以通過pipe()
,fork()
和exec*()
系列函數來實現自制方式,或者如果其約束符合您的要求,則可以使用popen()
。