cost 90 ms
可以從父進程的子進程中獲取退出狀態

[英]is possible to get the exit status from the child of a child process in the parent

我嘗試從父進程中的子進程的子進程中獲取退出代碼。 如果進程進入 while 循環以再次分叉,我不會得到退出代碼。 我嘗試了一些諸如 WNOHANG 之類的 waitpid 選項,但隨后程序掛起。 也許我不想要的東西是不可能的,因為它有點像僵屍孩子? 這是我的代碼。 ...

關於 WEXITSTATUS 與 `G++ 4.9.4` 的奇怪行為

[英]Strange behavior about WEXITSTATUS with `G++ 4.9.4`

下面的代碼片段確實可以編譯, 而此代碼片段確實無法使用G++ 4.9.4進行編譯: 這是編譯器抱怨的內容: 以下是有關編譯器的詳細信息: 並通過以下命令在Ubuntu16.04上安裝編譯器 注意:我必須使用 g++-4.9,我別無選擇。 奇怪的是,我無法在godbolt.org上重現上述現象。 它在 ...

使用WEXITSTATUS從fork()調用中檢索進程總數

[英]Retrieving the total amount of processes from a fork() call using WEXITSTATUS

在看這篇文章時,我不理解Kaylum的回答。 我有兩個問題。 1)他/她想使用變量“ count”來計算從fork派生的進程總數(即子孫等的總數+原始進程)。 我看到他/她首先通過在父進程中將count設置為1來開始(對父母進行計數),但是隨后他/他在子進程中將count再次設置為1。 ...

分叉的10個子進程,父進程如何收集它們的返回值?

[英]Forked 10 child processes, how can the parent process collect their return values?

我必須在具有10個子進程的1000個數字的數組中找到最大值(這樣,每個子進程僅檢查一百個值),而父進程只需要收集數據即可。 我已經完成了全部工作,但是我仍然無法讀取值。 這是代碼: 我曾經嘗試過使用管道以及WEXITSTATUS,但我真的很困惑,不知道在哪里封閉管道的一端以及類似 ...

c while循環中的fork()和wait()嗎?

[英]fork() and wait() in c while loop?

我在c中有這個小程序,我試圖了解它是如何工作的,這是一個簡單的while循環,使用fork()和wait()在命令行上打印出幾行,我的能力正在發生 該程序應該打印: 當子進程之一返回i ,父進程是否以&j等待它? 這真的讓我感到困惑,任何幫助將不勝感激。 ...

從wexitstatus收到錯誤的退出代碼

[英]Wrong exit code received from wexitstatus

我正在使用PCNTL在ubuntu服務器上的PHP中對一個大腳本進行多處理。 這是代碼(經過簡化和注釋) 我面臨的問題與wexitstatus返回的值有關。 為簡單起見,有一個父進程,必須創建200個線程。 他一次使一個進程,如果實際運行的線程超過8個,則等待一個進程完成。 ...

如何將float類型的狀態轉換為WEXITSTATUS

[英]how to cast status of type float to WEXITSTATUS

我有下面的代碼,但是我需要exit(status)返回一個float,但是WEXITSTATUS沒有收到一個float,因為狀態必須是int,所以請問如何解決? ...

無法獲取waitpid()以針對錯誤情況返回正確的WEXITSTATUS

[英]Not able to get waitpid() to return correct WEXITSTATUS for error condition

我有一個命令和一些輸入,在命令行上運行時將返回錯誤,並且相關錯誤代碼為1: 我正在嘗試使用waitpid()捕獲此錯誤代碼: 我的線程將運行perform_foo_function()直到沒有更多的bar_data要處理,或者直到該處理由於數據錯誤而失敗為止: 我的問題是 ...

等待函數和wexitstatus中的狀態值

[英]status value in wait function and wexitstatus

我在unix的系統功能實現中閱讀了以下代碼 (問題8.22): 我不明白這里的if條件是什么:WEXITSTATUS返回的狀態與等待中的狀態不一樣嗎? 如果不是,那么兩者之間有什么區別? ...

通過按位運算在C中解析WEXITSTATUS整數求和的返回碼

[英]Parsing WEXITSTATUS int-summed return code(s) in C via bitwise operation

我只是關於按位數學的新手-如果這甚至是一個正確的詞-並正在尋找一種對整數求和的返回碼進行邏輯處理的更好方法(這是各種Unix程序的標准)。 即返回碼可以是1,2,4,8等的任意組合 到目前為止,這是我的代碼(摘要): 我知道我應該能夠使用AND(&)之類的按位運算符來執行此操作, ...

WEXITSTATUS(childStatus)返回0,但是waitpid返回-1

[英]WEXITSTATUS(childStatus) returns 0 but waitpid returns -1

據我所知,如果waitpid返回-1,那么這是錯誤情況。 如何在WEXITSTATUS(childStatus)的子進程中獲得成功(EXIT_SUCCUSS)? waitpid中的childStatus與WEXITSTATUS(childStatus)的返回值之間有什么區別? 一樣嗎 ...

我如何使用wexitstatus獲得超過255的值

[英]how can i use wexitstatus to get the value more than 255

我只會說一點英語,所以希望您能理解我說的話。 我派生一個子進程,然后在子進程中添加。 例如:56 + 48 = 104 如果該值小於255,我可以使用“ wexitstatus(status)”來獲得答案。 但是,如果該值大於256,那將是錯誤的! 我能怎么做? ...

waitpid / wexitstatus返回0而不是正確的返回碼

[英]waitpid/wexitstatus returning 0 instead of correct return code

我有下面的幫助函數,用於執行命令並在posix系統上獲取返回值。 我曾經使用過popen ,但是如果它運行並且在popen / pclose有機會完成其工作之前退出,則無法獲得具有popen的應用程序的返回代碼。 以下輔助函數創建進程fork,使用execvp運行所需的外部進程,然后父進 ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM