process

Process libraries

Version on this page:1.6.5.0
LTS Haskell 22.37:1.6.19.0
Stackage Nightly 2024-10-09:1.6.18.0
Latest on Hackage:1.6.24.0

See all snapshots process appears in

BSD-3-Clause licensed
Maintained by [email protected]
This version can be pinned in stack with:process-1.6.5.0@sha256:0f42f038aca38f990b68083a1b5bed34ace91b93539095a9ec1e2d44cd435ddb,2469

Module documentation for 1.6.5.0

  • System
    • System.Cmd
    • System.Process
      • System.Process.Internals

This package contains libraries for dealing with system processes.

The typed-process package is a more recent take on a process API, which uses this package internally. It features better binary support, easier concurrency, and a more composable API. You can read more about it at https://haskell-lang.org/library/typed-process.

Changes

Changelog for process package

1.6.5.0 December 2018

  • Bug fix: On Windows ignore ERROR_ACCESS_DENIED for TerminateProcess() if the process did terminate #110
  • Improve documentation of the NoStream data constructor

1.6.4.0 July 2018

  • Bug fix: Don’t leak pipes on failure #122
  • Expose cleanupProcess from System.Process #130
  • Drop support for GHC before 7.10.3

1.6.3.0 January 2018

  • Added getPid and export of platform specific Pid type #109

1.6.2.0 October 2017

  • Allow async exceptions to be delivered to masked thread calling waitForProcess #101
  • Update Win32 package version to 2.6.x

1.6.1.0 July 2017

  • Expose CGid, GroupID, and UserID from System.Process.Internals #90 #91

1.6.0.0 February 2017

  • Fix: waitForProcess race condition #46 #58

1.5.0.0 February 2017

  • Bug fix: Don’t close already closed pipes #81
  • Relax version bounds of Win32 to allow 2.5.
  • Add support for monitoring process tree for termination with the parameter use_process_jobs in CreateProcess on Windows. Also added a function terminateJob to kill entire process tree.

1.4.3.0 December 2016

  • New exposed withCreateProcess
  • Derive Show and Eq for CreateProcess, CmdSpec, and StdStream

1.4.2.0 January 2016

  • Added createPipeFD #52
    • New function createPipeFD added which returns a POSIX File Descriptor (CInt) instead of a GHC Handle to a pipe

1.4.1.0 November 2015

  • Use less CPP #47
    • Refactor to have separate Windows and POSIX modules internally
    • Remove the broken non-GHC code paths

1.4.0.0 November 2015

  • Added child_user and child_group to CreateProcess for unix. #45

1.3.0.0 August 2015

  • Add StdStream(NoStream) to have standard handles closed. #13
  • Support for Windows DETACHED_PROCESS and setsid #32
  • Support for Windows CREATE_NEW_CONSOLE #38

1.2.3.0 March 2015

1.2.2.0 Jan 2015

  • Fix delegated CTRL-C handling in createProcess in case of failed process creation. See issue #15 for more details.

  • waitpid on child PID after pre-exec failure in child to prevent zombies. See also issue #14.

1.2.1.0 Dec 2014

  • Add support for base-4.8.0.0

  • Remove Hugs98 specific code

  • New IsString CmdSpec instance

  • Expose documentation for System.Process.Internals

  • With GHC 7.10, System.Cmd and System.Process are now Safe (when compiled with older GHC versions they are just Trustworthy)

  • Expose createProcess_ function, and document behavior of UseHandle for createProcess. See issue #2.

  • New System.Process.createPipe operation. See also GHC #8943

1.2.0.0 Dec 2013

  • Update to Cabal 1.10 format
  • Remove NHC specific code
  • Add support for base-4.7.0.0
  • Improve showCommandForUser to reduce redundant quoting
  • New functions callProcess, callCommand, spawnProcess and spawnCommand
  • Implement WCE handling according to http://www.cons.org/cracauer/sigint.html
  • New delegate_ctlc field in CreateProcess for WCE handling
  • Use ExitFailure (-signum) on Unix when a proc is terminated due to a signal.
  • Deprecate module System.Cmd
  • On non-Windows, the child thread now comunicates any errors back to the parent thread via pipes.
  • Fix deadlocks in readProcess and readProcessWithExitCode