Как использовать createProcess
в haskell перенаправить stderr в /dev/null
?Перенаправление стандартного потока ошибок, haskell create process
0
A
ответ
0
Open /dev/null
с withFile
и установить его в качестве std_err
в CreateProcess
записи:
import System.Process
import System.IO
main :: IO()
main = withFile "/dev/null" WriteMode (\handle -> do
(_,_,_,phandle) <- createProcess (shell "echo foo"){ std_err = UseHandle handle}
waitForProcess phandle
return())
В Windows, вы можете использовать файл NUL
.
1
Не точное решение, которое вы ищете, но одно популярное решение в сообществе - использовать пакет silently
для его достижения.
Вы можете использовать функцию hSilence, чтобы сделать то, что хотите. Фактически, внутренне он открывает /dev/null
и выполняет всю работу. Пример кода демо:
#!/usr/bin/env stack
{- stack
--resolver lts-6.15
--install-ghc
runghc
--package process
--package silently
-}
import System.Process
import System.IO
import System.IO.Silently
writeToStderr :: IO()
writeToStderr = do
hPutStrLn stderr "hello"
hPutStrLn stderr "world"
main :: IO()
main = hSilence [stderr] writeToStderr
Смежные вопросы
- 1. Перенаправление стандартного потока (Process.Start)
- 2. Перенаправление стандартного потока
- 3. Перенаправление стандартного выходного потока
- 4. Create Process default browser
- 5. Восстановления стандартного вывода и стандартного потока ошибок значения по умолчанию
- 6. Каково название стандартного потока ошибок (Apache + php)
- 7. Перенаправление стандартного ввода консольного приложения
- 8. Перенаправление стандартного вывода
- 9. Create Process не работает
- 10. Перенаправление стандартного вывода в .NET
- 11. Haskell function process
- 12. Java - Create Process Error = 193
- 13. Перенаправление стандартного вывода в syslog
- 14. Перенаправление стандартного вывода ошибок в/DEV/нуль в питона
- 15. Haskell-create 2d array
- 16. Снятие стандартного шаблона трубопровода haskell
- 17. Перенаправление на BarsController # create from FoosController # create
- 18. Перенаправление стандартного вывода консольного приложения
- 19. Перенаправление стандартного вывода через SSH
- 20. Перенаправление стандартного вывода с помощью оболочки Execute
- 21. Перенаправление стандартного вывода с помощью Shell()
- 22. Неоднозначное поведение стандартного выходного потока
- 23. Перенаправление вывода процесса с помощью Process Builder
- 24. перенаправление стандартного выхода, событие не поднято
- 25. Java-перенаправление входного потока
- 26. Haskell проблема обработки ошибок
- 27. Haskell логический вывод ошибок
- 28. Haskell - Список ошибок
- 29. DOMPDF - перенаправление после потока PDF
- 30. Переустановка условного стандартного дескриптора в Haskell