如果我終止-QUIT主資源管理器進程,它將重新啓動,然後正常運行。但是,如果我終止了主資源管理器進程的-ABRT,它將重新啓動,但在HAWQ重啓時進行。那麼HAWQ如何處理不同的殺死信號呢?HAWQ如何處理不同的殺死信號?
回答
HAWQ資源管理器捕獲信號SIGQUIT,並註冊了一個名爲quitResManager來處理信號的功能。這個過程將和平地退出。但對於SIGABRT信號,資源管理器將根據SIGABORT的定義生成coredump。由於資源管理器進程由postmaster分支,postmaster進程會密切關注其子進程,如果發現子進程正常退出,它將重新啓動子進程本身,但如果發現錯誤則會重新啓動所有子進程在子進程中。
所以,你可以看到你發送-QUIT殺後的資源管理過程本身被重新啓動,但看到你發送殺-ABORT後再開始HAWQ主所有進程。
順便說一下,HAWQ資源管理器將爲SIGINT,SIGTERM和SIGUSR2執行類似的SIGQUIT處理。 –
非常感謝。順便說一句,如果我發送一個kill信號給postmaster分叉的進程之一,哪些信號會導致這個進程重啓,哪些信號會導致postmaster進程重啓? –
有多個進程由postmaster啓動:1.資源管理器; 2. master logger –
有由postmaster啓動多個進程
1.資源管理器
2.主記錄器進程
3.統計收集器進程
4.寫進程
5.檢查點進程
6. seqserver過程
7. WAL發送服務器進程
8. DFS元數據緩存進程。
對於SIGNAL響應,不同的進程有不同的處理。
主記錄過程是否獨立於其他進程,其他進程重新啓動不會影響它,它的重啓也不會太影響其他進程。對於SIGQUIT,它會忽略。對於SIGABORT和SIGKILL,它將重新啓動。
統計收集器進程不會影響其他進程,但會被其他進程的重啓的影響。對於SIGQUIT,SIGABORT或SIGKILL信號,它將自行重啓。
資源管理過程中,信號SIGQUIT,它會重新啓動本身,SIGABORT信號和SIGKILL,將重新啓動所有其他的子流程。
另外5個工序,用於信號SIGQUIT,SIGABORT,或SIGKILL,將重新啓動本身和除主記錄器過程中的所有其他的子流程。
殺死-15怎麼樣? –
殺-15是SIGTERM。資源管理器,統計信息收集器和WAL發送服務器進程在遇到kill -15時將自行重新啓動。其他進程忽略信號。 –
不知hawq資源管理過程由SIGKILL殺死,是否父郵政局長進程也將退出?
我已經試過這個,發現只有子進程重新啓動並且父母postmaster進程正常運行。 –
@huan,如果有子過程符合誤差父postmaster將不會重新啓動。但如果它本身遇到錯誤,它不會重新啓動任何人,所有的子進程都將被終止。
- 1. 信號並殺死ç
- 2. 從信號處理程序中殺死子進程
- 3. 在linux中殺死和信號問題
- 4. 使用叉子和殺死信號
- 5. 殺死自動處理 - Linux的
- 6. 如何讓孩子打印殺死它的信號?
- 7. Python如何殺死阻塞隊列中的線程信號?
- 8. 處理同步信號
- 9. 如何處理SIGABRT信號?
- 10. python如何處理信號?
- 11. 如何殺死
- 12. Perl:信號和線程。如何用qx()殺死線程
- 13. 批處理腳本殺死進程
- 14. 需要殺死批處理文件
- 15. 批處理腳本殺死java進程
- 16. Python多處理殺死進程
- 17. Nutch updatedb殺死並跳過批處理ID號
- 18. 爲什麼在報警信號處理程序中不死不死呢?
- 19. WordPress殺死IFRAME的撇號
- 20. 如何在加載圖像時處理殺死的活動
- 21. 如何編寫殺死多個進程的批處理文件
- 22. 如何殺死所有從「lsof -i」處理過的文件
- 23. 不正確的語法後殺死「+」號
- 24. 如何在不殺死Linux的情況下給應用程序發信號?
- 25. 信號處理
- 26. 殺死不會殺死進程
- 27. 如何殺死Excel
- 28. 如何殺死javaw.exe
- 29. 如何殺死xkill?
- 30. 如何殺死chromedriver
它應該是「但是如果我殺了-ABRT主資源管理器進程,它會重啓,但在HAWQ主服務器重啓時進程」。 –