我有一個程序,通過system()
執行各種shell命令,偶爾打印到cout
。我想將來自system()
調用的所有輸出重定向到一個日誌文件,以免它們混淆正常輸出。我可以這樣做,而不必將> log
附加到我的所有系統命令中?我可以全局重定向system()調用的輸出嗎?
1
A
回答
4
貌似可以使用popen
0
如果你可以使用一個庫,包裝過程調用。從posix很難編碼。我使用boost.process,它工作正常。你可以簡單地告訴你如何想的輸出重定向的lib ...
MY2C
2
關閉標準輸入輸出文件描述符(0,1,2),並重新打開他們的任何輸出設備你喜歡。
2
使用system
只是一個壞主意,期間。如果您使用fork
和execve
或posix_spawn
,則可以輕鬆地進行必要的重定向並避免shell引用問題中的各種漏洞。
相關問題
- 1. 我可以使用.htaccess重定向嗎?
- 2. 有什麼辦法可以重定向smbclient的輸出嗎?
- 3. Grails remoteField - 我可以調用渲染/重定向嗎?
- 4. 我可以重定向從C DLL輸出到我的C#log4net的輸出
- 5. 在IRouteHandler.GetHttpHandler()我可以重定向嗎?
- 6. 我可以在iOS中使用system()嗎?
- 7. 我可以在我的路線中制定全面重定向規則嗎?
- 8. 我可以在mustache.js模板中調用全局函數嗎?
- 9. 我可以將所有輸出重定向到python中的/ dev/null嗎?
- 10. 在python中,我可以將打印函數的輸出重定向到stderr嗎?
- 11. 我可以忽略全局.gitignore嗎?
- 12. 我的URL重定向安全嗎?
- 13. 我可以重置jQuery全局對象的名稱嗎?
- 14. 如何將system()函數的輸出重定向到變量?
- 15. 我可以使用__init__.py來定義全局變量嗎?
- 16. 輸出沒有完全重定向到
- 17. 我們可以重寫全局變量嗎?
- 18. C++ CLR System :: Diagnostics :: Process,進程啓動後重定向輸出?
- 19. 我可以使用MCP3008輸出嗎?
- 20. 我可以在不重定向的情況下重寫URL嗎?
- 21. 我可以使用mod_rewrite重定向到不同的URL嗎?
- 22. 我可以將我的python/ipython輸入/輸出重定向到一個文本文件嗎?
- 23. 可以調用C++中的全局變量嗎?
- 24. 如何在不全局重新定義sys.stderr的情況下重定向urllib2調試輸出?
- 25. 我可以使用根web.config在某些目錄上執行全局重定向嗎?
- 26. 我重定向輸出到textarea的
- 27. 重定向輸出
- 28. 有人可以向我解釋這段代碼的輸出嗎?
- 29. 我可以擁有佈局的多佈局方向嗎?
- 30. 我可以將301重定向設置爲重寫規則嗎?
是的,使用popen進行閱讀會給你一個管道,從中你可以讀取命令stdout並用它做你想要的。 – 2011-01-26 17:59:17