簡體   English   中英

如何在沒有exec *()的多進程應用程序中處理fork()錯誤

[英]how to handle fork() error in multi-process application with no exec*()

我正在用fork()函數循環創建進程。 新進程不會調用exec*()系列中的任何函數; 他們只是運行代碼,然后使用exit() 他們不能失敗。

但是我不知道如果fork()失敗並且已經創建了一些新進程,該怎么辦。 我必須使用return或exit()嗎? 我是否必須使用killpg()殺死創建的進程? 如果fork()失敗,我想清理所有內容並從主進程退出程序。 有人可以提示我如何執行此操作嗎?

調用killpg(getpgrp(), SIGKILL)然后exit(...)return ...應該可以完成這項工作。

供參考: killpg()getpgrp()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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