這些狀態是基於linux操作系統的進程狀態定義,以等待爲例,當一個進程不從外部讀取,而不是向外部寫數據而不是在裏面計算時,但困難是我怎麼知道這個進程是現在不計算,如何用c編程語言實現它(如果該過程不是從外部讀取,它可以返回一個讀取錯誤,我知道它現在不讀取,寫入也是如此)。 如: 讀(INT FD,無效* buf中,爲size_t常量) 寫入(INT FD,無效* buf中,爲size_t常量)如何在c語言中準確描述進程狀態(如初始化,運行,等待等)?
回答
你不能做它在C的langauge獨立的方式,因爲C有沒有過程的概念。但是,在您的C程序可以訪問可以啓動線程/進程(例如Linux)的庫的所有合理情況下,啓動進程調用通常會返回一個(「進程」)「處理「(或一些代表)由父項目發起的過程。
有一個程序啓動一個進程的相同庫,總會有一個程序檢查啓動進程的狀態,使用進程句柄。
我不熟悉Linux的庫(我懷疑有幾個)。如果您設法啓動子流程,您必須使用一個。去閱讀其他庫元素,直到找到返回進程狀態的元素。
謝謝,Ira,我認爲這可能被描述爲一個過程檢查問題。我想提供一個如何在應用程序中使用它的例子,這可能有助於澄清問題,但我不知道如何上傳我的圖片。 – Yangjunwin
你問的問題是,「如何在C中實現它......」我給出了抽象的答案;你所要做的就是填寫細節。 「描繪」與你最初的問題有什麼關係?你要麼找到過程檢查API,要麼你沒有。你看了? *你看起來在哪裏? –
感謝您的耐心等待,我知道「waitpid」可以提供此功能。 我也在quora上發佈了這個問題,因爲我不知道如何在stackoverflow中上傳我的應用模型。 鏈接是 http://www.quora.com/C-programming-language/How-can-i-describe-the-processes-status-accurately-such-as-initialization-running-waiting-etc-in -c-編程語言?__ snids __ = 249753498&__ NSRC __ = 1#comment417089 – Yangjunwin
- 1. 等待(空)和等待(&狀態)C語言和狀態
- 2. 如何初始化進程描述符
- 3. 如何等待類初始化?
- 4. 等待CDAudioManager初始化有多重要? (如何做正確的等待?)
- 5. 等待控件初始化
- 6. 描述在小黃瓜語言上的「等待」步驟
- 7. 在等待反應之後初始化狀態
- 8. 如何等待啓動線程執行初始化代碼
- 9. UIManagedDocument正確的初始化,並等待,直到它準備好
- 10. 如何在.NET中等待另一個進程的狀態?
- 11. 爪哇 - ExecutorService的:如何重新運行 「等待狀態」 線程
- 12. 如何等待JavaFx應用程序中的WebEngine/Browser初始化?
- 13. AsyncTask進入等待狀態
- 14. 如何等待線程和處理程序初始化
- 15. 我該如何等待初始化組件被執行
- 16. 如何在初始化之前等待依賴模塊運行功能
- 17. 等待準確didUpdateToLocation
- 18. 如何等待進程在gnome-terminal中運行> 3.8
- 19. 如何等待進程結束C++
- 20. 如何等待ShellExecute運行?
- 21. 並行線程/等待(狀態)
- 22. 非忙等待的對象初始化
- 23. 等待免費或無鎖初始化
- 24. 不等待類初始化的代碼!
- 25. 等待TextToSpeech onInit()已初始化
- 26. 如何等待進程終止(並等待相應的子進程)在PHP中?
- 27. C程序叉,等待golang進程狀態
- 28. 如何等待NSURLConnection的某個狀態
- 29. 如何等待對象改變狀態
- 30. 如何等待進程子進程?
答案可能不依賴於語言,但依賴於平臺!你在談論嵌入式設備還是PC? –
謝謝,\t Bit Fiddling Code Monkey,我希望管理進程控制工作進程,工作進程將狀態描述到共享內存,以便管理進程可以判斷工作進程是否正常工作。 – Yangjunwin