我正在使用fork和execv來產生子程序。我怎樣才能讓這些程序在後臺運行?我試圖不等他們,但他們仍然發送輸出到屏幕上。如何用execv產生後臺程序
回答
重定向標準輸出/標準錯誤到/dev/null
你以前的exec:
freopen("/dev/null", "w", stdout);
freopen("/dev/null", "w", stderr);
exec....
我得到這個錯誤:無法將'FILE *'轉換爲'const char *'作爲參數'2'到'FILE * freopen(const char *,const char *,FILE *)' – 2011-04-27 08:28:00
@ z-buffer:爭論,現在糾正了答案。 – Erik 2011-04-27 08:31:02
輸出如何恢復正常? – 2011-04-27 08:48:38
您可以使用管道重定向子進程的輸出。看看this queston。有代碼將stdout和stderr重定向到管道。
- 1. 如何使用後臺應用程序?
- 2. 如何創建後臺應用程序?
- 3. 執行shell程序與execv
- 4. 如何使用Droidtext Android應用程序內,從資產產生
- 5. execv會在前臺還是後臺運行?
- 6. WinJs後臺應用程序
- 7. iphone後臺應用程序
- 8. VB.NET後臺應用程序
- 9. 如何檢查應用程序是否在前臺或後臺
- 10. 如何從前臺應用程序切換到後臺代理?
- 11. 如何在後臺運行.NET控制檯應用程序
- 12. 如何將ios應用程序從後臺前臺
- 13. 如何在後臺運行控制檯應用程序(無UI)?
- 14. 你如何保持開發/臺/生產
- 15. 如何在後臺運行程序
- 16. 如何在後臺運行此程序
- 17. Symfony 1.4後臺應用程序管理失敗產品環境
- 18. 如何在同一臺機器上開發生產iPhone應用程序和iPad應用程序?
- 19. 產生和管理後臺線程的習慣Clojure方式
- 20. 在bash函數中產生一個後臺進程
- 21. 在Windows上的Ruby中產生後臺進程?
- 22. 如何從Windows應用程序產生Linux進程?
- 23. execv調用後打開文件句柄會發生什麼? (C++)
- 24. 如何構建用於生產的angular2應用程序
- 25. jFormer用於生產應用程序?
- 26. 如何在後臺進程中運行linux應用程序?
- 27. 如何處理Hibernate/Spring應用程序中的後臺線程
- 28. 如何在WebSphere下停止應用程序的後臺線程
- 29. 如何獲得以fork和execv開頭的程序的pid
- 30. 當應用程序從後臺打開時會發生什麼?
你對「背景」的定義是什麼? – Gabe 2011-04-27 08:22:14
在後臺運行進程與program&相同。 – 2011-04-27 08:24:12
您的術語不一致 - '程序&'仍將其輸出寫入屏幕,在這種情況下,「背景」只是釋放shell提示符。 'program>/dev/null&'會做你想做的事 – davka 2011-04-27 08:43:55