mirror of
https://github.com/microsoft/terminal.git
synced 2026-02-04 05:35:20 +00:00
Orphaned processes when terminal is force-closed by windows itself #13580
Closed
opened 2026-01-31 03:46:23 +00:00 by claunia
·
43 comments
No Branch/Tag Specified
main
automated/loc-update
feature/llm
dev/cazamor/sui/search
dev/pabhoj/actions_editor_search
dev/lhecker/11509-kitty-keyboard-protocol
dev/lhecker/11509-kitty-keyboard-protocol-wip
dev/pabhoj/actions_editor_visual
dev/cazamor/selfhost/2026-01-29
dev/duhowett/no-blank-issues-you-lost-privileges-for-that-fam
dev/lhecker/benchcat-fix
dev/lhecker/dcs-perf
dev/duhowett/eoy-25/allow-set-foreground
release-1.24
release-1.23
dev/cazamor/bot/deprecate-area-atlasengine
dev/pabhoj/actions_editor_followups
dev/cazamor/selfhost/2026-01-20
dev/cazamor/selfhost/2026-01-12
dev/cazamor/spec/auto-save
dev/duhowett/eoy-25/underline-colors-in-atlas-bug-redux
dev/duhowett/fhl-2024/asciicast-recorder
dev/duhowett/eoy-25/underline-colors-in-atlas-bug
dev/duhowett/hax/serial-port-support
dev/duhowett/connection-utf8
dev/lhecker/fused-event
dev/lhecker/18928-wip
dev/duhowett/fhl-2024/clang
dev/cazamor/uia-leak
dev/duhowett/win7-wpf-termcontrol-squash
release-1.22
dev/cazamor/selfhost/11-18-v3
dev/cazamor/selfhost/11-18
dev/duhowett/fhl-2025/bitmap-fonts
dev/duhowett/server-2025-vms
dev/duhowett/cant-believe-gotta-do-this-shit
dev/lhecker/1410-large-scrollback
dev/lhecker/dark-mode
dev/cazamor/sui/invert-cursor-color
dev/duhowett/fhl-2025/wt-command-palette-cmdpal-integration
dev/duhowett/fhl-2025/wt-json-relative-icons
dev/lhecker/fucking-service-locator
dev/duhowett/unicode-17
dev/duhowett/multi-blern
dev/lhecker/wellp2-alt
dev/duhowett/wellp2
dev/lhecker/1860-horizontal-scrollbar
dev/lhecker/fix-window-count
dev/cazamor/sui/tab-color-old
dev/duhowett/hax/conhost-icon
dev/duhowett/hax/sui-color-chip-border
dev/duhowett/hax/terminalsettings-as-a-lib-/with-types-merged-into-tsm
dev/pabhoj/page_control_input_cleanup
dev/duhowett/padding-in-atlas-rebase-20250729
dev/lhecker/attach-thread-input
dev/duhowett/portable-shader-members
msbuildcache-reenable
dev/cazamor/selfhost/1.24-2025-06-10
dev/cazamor/upgrade-settings-containers
dev/cazamor/sui/ext-page/powershell-stub
dev/cazamor/selfhost/1.24-2025-05-15
dev/pabhoj/sui_action_overhaul
dev/cazamor/selfhost/1.24-2025-05-06
dev/cazamor/selfhost/1.24-2025-04-29
dev/cazamor/sui/ext-page/lazy-load-objects
dev/cazamor/sui/ext-page/badge
dev/cazamor/selfhost/1.24
dev/lhecker/sdk-26100
dev/duhowett/testing
dev/jadelaga/VS-Pty.Net-1.22
dev/duhowett/fhl-2025/what-if-no-content-ids
dev/cazamor/a11y/vt-seq-prototype
dev/lhecker/18584-part2
dev/lhecker/get-lang-id
dev/duhowett/hax/clogs
release-1.21
dev/pabhoj/featurellm_fix_paste
dev/lhecker/grapheme-backup
dev/jadelaga/VS-Pty.netFixes
dev/lhecker/atlas-engine-compute-shader
dev/migrie/s/ai-providers
dev/lhecker/animated-cursor-wip
dev/pabhoj/featurellm_timeout
dev/lhecker/dark-mode-alt
dev/duhowett/osc-strided-table
dev/lhecker/bugbash
dev/pabhoj/featurellm_improve_parsing
dev/duhowett/coast-to-coast
dev/lhecker/curly-improvements
dev/duhowett/net8
dev/duhowett/onebranch-custom-pool
dev/lhecker/renderer-overhaul-2nd-attempt
dev/lhecker/cleanup
dev/cazamor/sui/confirmation-announcements
dev/lhecker/theme-quality
dev/duhowett/hax/cmake
dev/lhecker/winconpty-cleanup
dev/duhowett/learn/rewrite-highlights
dev/migrie/b/no-nesting-when-searching
release-1.20
dev/lhecker/14165-conhost-font-size
dev/duhowett/sel-2-spans
dev/lhecker/7118-cursor-color
dev/lhecker/remove-glyph-width
dev/lhecker/igfw-scroll-region
dev/lhecker/17656-win32im-double-encoding
dev/duhowett/fhl-2024/merge-idls
dev/duhowett/feed-forward-variables
dev/lhecker/remove-chrome-math
dev/duhowett/copylink
dev/duhowett/applicableactions
gh-readonly-queue/main/pr-17566-de50310295b7d92ed3d51f07974a2a945776bf9d
dev/lhecker/atlas-engine-stride-copy
dev/migrie/b/bump-nuget-in-c
dev/migrie/f/992-redux-redux
dev/migrie/f/filter-weight-input-too
dev/migrie/f/disable-nesting
dev/migrie/f/local-snippets-cleaner
dev/migrie/s/1553-mouse-bindings
selfhost-1.22-bugbash-2024-06-04
selfhost/1.22-bugbash-2024-06-04
dev/lhecker/15689-tab-drag-crash-fix
dev/migrie/f/sxnui-font-size-change
dev/migrie/f/local-snippets-on-action-refactor
dev/migrie/f/just-local-snippets
dev/migrie/save-input-patches
dev/migrie/f/md-pane-official
dev/migrie/base-pane
dev/migrie/fhl/tasks-pane
release-1.19
dev/migrie/b/17130-clear-marks-2
dev/migrie/b/17075-its-me-the-killer
dev/duhowett/i-figured-out-why-sometimes-the-publish-build-failed
dev/duhowett/nuget-publication-with-aad-app-id
selfhost-1.20
dev/duhowett/graph
dev/migrie/b/15803-activate-dont-copypasta
dev/duhowett/is-pgo-broken-because-of-sui-being-slower
dev/migrie/b/remove-terminaltab
dev/migrie/fhl/md-pane
dev/migrie/fhl/local-tasks-2024
dev/migrie/fhl/2024-inline-notebook
dev/duhowett/interface-projects
dev/duhowett/dead-loc
release-1.18
dev/migrie/fhl/2024-spring-merge-base
dev/duhowett/hax/l9
inbox
dev/migrie/14073-on-main
dev/duhowett/hax/conhost_dump_replay
user/lhecker/atlas-engine-srgb
dev/migrie/fhl/sxnui-tooltips-3
dev/migrie/7718-notifications-experiments
dev/migrie/fhl/7718-notifications
dev/migrie/fhl/7718-notifications-reboot
dev/lhecker/remove-gsl
dev/lhecker/16575-TerminateProcess
dev/lhecker/window-thread-climate-control
dev/lhecker/client-context-input-output-mode
dev/lhecker/ring-buffer-input-buffer
release-1.17
dev/lhecker/propsheet-fontdlg-refactor
dev/lhecker/renderer-overhaul
dev/pabhoj/test
dev/duhowett/chop
dev/lhecker/til-ulong-cleanup
dev/lhecker/til-env-cleanup
dev/migrie/f/16005-a11y-pane
dev/cazamor/a11y/fastpass
dev/migrie/b/15487-push-cwd
dev/migrie/b/15536-or-15219-idk
dev/duhowett/move-timers-down-into-core-interactivity-etc
dev/migrie/b/15812-broadcast-paste-two
dev/migrie/fhl-fall-2023/11162-quake-III-arena
dev/migrie/fhl-fall-2023/1620-automatic-tab-progress
dev/migrie/fhl-fall-2023/9992-quake-II
dev/migrie/fhl-fall-2023/9992-default-quake-settings
dev/migrie/fhl-fall-2023/9992-window-name-settings
dev/migrie/fhl-fall-2023/oceans
dev/lhecker/ColorScheme-improvements
dev/migrie/search-v2-v3
dev/migrie/pr-15717/its-dangerous-to-go-alone
dev/migrie/f/4768-taskbar-icons
dev/duhowett/padding-in-atlas
dev/migrie/f/3121-tooltips
dev/duhowett/sticky-control
dev/duhowett/fix-tracing-2
dev/migrie/b/add-support-for-vsc-marks
dev/migrie/f/1860-this-is-literally-what-less-is-for
dev/migrie/s/5916-draft
dev/lhecker/tracy
dev/migrie/s/north-star
dev/cazamor/tag-youre-it
dev/migrie/f/12336-let-it-mellow
dev/migrie/f/now-with-more-compat-settings
dev/migrie/f/compatibility-sui
dev/duhowett/hax/wpf-atlas
dev/duhowett/fgb
dev/migrie/b/15487-relative-paths-are-hard
dev/lhecker/colrv1
loc-update
dev/migrie/fhl/dyndep-csharp
dev/migrie/fhl/dyndep
dev/migrie/fhl-clickable-send-input
dev/migrie/f/cwd-hijinks-5506-15173
dev/lhecker/openconsole-async-start
1.17
dev/migrie/bump-scratch
dev/migrie/f/3726-restartConnection
dev/migrie/b/cxn-restarting-attempt-1-backport
dev/migrie/b/9053-part-3-the-actual-doing-of-the-thing
dev/migrie/b/13388-focus-logger
dev/migrie/b/9053-part-4-i-guess-defterm
dev/migrie/oop/3/of-the-silmarils
of-the-darkening-of-valinor
dev/migrie/fhl/notebook-proto-000
dev/migrie/f/narrator-buddy
dev/migrie/mux-2.8.2-march-2023
dev/migrie/f/roast-mutton
dev/migrie/f/12861-preview-input
dev/lhecker/clang-tidy
dev/migrie/f/3121-wE-dOnT-hAvE-dEv-DaYs
dev/duhowett/compiler-compliance
dev/duhowett/i-have-a-burning-hatred-for-ntstatus-of-later-so-why-not-fix-it
dev/duhowett/shorthand-namespaces
dev/duhowett/rename-all-dlls
dev/duhowett/errordialog
dev/lhecker/gsl-narrow
dev/migrie/b/11522-dumb-idea
release-1.16
dev/miniksa/env
dev/duhowett/hax/embed-everything
dev/migrie/b/13388-attempt-003
dev/migrie/b/14512-test-research
dev/migrie/b/13388-attempt-002
dev/migrie/b/14464-copyOnSelect-moving-text
dev/migrie/s/thema-schema-for-1.16
dev/migrie/s/theme-pair-schema
dev/migrie/b/13388-experiments-1
dev/cazamor/spec/a11y-vt-seq
dev/migrie/b/14557-empty-folder-dropdown
dev/cazamor/spec/a11y-vt-seq-v2
release-1.15
dev/migrie/f/process-model-v3-test-0
dev/lhecker/vsconfig
dev/migrie/s/5000-presentation
dev/lhecker/5907-startup-perf
dev/lhecker/winrt-file-api-benchmark
dev/duhowett/128-bit-compiler
dev/duhowett/hax/arm64-native-build
dev/migrie/fhl/more-shell-integration
dev/migrie/b/13388-experiments-0
dev/lhecker/til-to-ulong-improvements
dev/migrie/s/markdown-notebooks
dev/cazamor/a11y/nav-by-page
dev/cazamor/a11y/system-menu-support
dev/duhowett/no-private-registry-keys
dev/cazamor/wpf/uia-expose-enable-events
dev/cazamor/wpf/uia-events
extendAISpec
dev/migrie/fhl/clickSendInput
dev/migrie/fhl/save-command
dev/migrie/b/theme.profile
dev/migrie/b/13943-a-test-for-this
dev/migrie/oop/2/endgame
dev/duhowett/hax/merge_idl
dev/migrie/oop/2/infinity-war
dev/migrie/spellbot-cve
dev/cazamor/a11y-sev3/new-profile-announcement
dev/migrie/fhl/upside-down-mode
release-1.14
dev/migrie/f/9458-startupInfoToTerminal
dev/migrie/fhl/5916-triggers
dev/migrie/b/13523-context-menu
dev/migrie/b/6523-endpaint-outside-lock
dev/migrie/b/12413-OnUnhandledException
dev/lhecker/render-snapshot
dev/cazamor/1.15/scroll-to-point
dev/migrie/mux-2.8-aug-2022
dev/lhecker/lock-console-guard
dev/migrie/f/1504-final
dev/pabhoj/sui_follow_ups
dev/migrie/f/til-winrt.h
dev/cazamor/color-picker-redesign
dev/migrie/fhl/vscode-autocomplete-prototype
dev/migrie/f/1504-prototype
dev/migrie/oop/2/loki
dev/migrie/oop/2/wandavision
dev/migrie/b/8698-YOURE-OUT-OF-ORDER
fabricbot-configuration-migration
dev/migrie/b/12788-did-it-work
dev/migrie/b/localtests-ci-2022
dev/cazamor/1.14/replace-compareInBounds
dev/pabhoj/preview_string
dev/cazamor/ks/switchSelectionEndpoint
dev/migrie/oop/2/COM-ISwapChainProvider-attempt-1
dev/migrie/b/dxd-marker
release-1.13
dev/migrie/b/13066-for-defterm
dev/cazamor/revert-dwm
dev/migrie/b/13066-sw_flash_repeatedly
dev/migrie/b/no-cloaky-cloak
dev/migrie/f/apples-to-oranges
dev/migrie/f/no-custom-caption-btns
dev/migrie/f/10509-mica-and-transparent-titlebars
dev/migrie/b/12911-wpf-focus-fg
dev/migrie/titebar-colors
dev/lhecker/4015-cursor
dev/migrie/fhl/rgb-rainbow-window-frame
dev/migrie/fhl/scroll-marks-prototype
release-1.12
dev/miniksa/compliance
dev/migrie/f/default-icons
dev/migrie/fhl/10175-web-search-for-text
dev/migrie/fhl/menu-complete-prototype
dev/migrie/b/2988-merged-prototypes
dev/migrie/b/2988-niksa-msgs-prototype
dev/migrie/fhl/9583-colorSelection
dev/migrie/b/10609-sui-leak
dev/migrie/b/32-attempt-3
dev/migrie/release-1.12-rejuv-attempt-2
dev/migrie/demo-for-presentation
dev/migrie/b/32-but-im-here-for-12567
dev/duhowett/conpty_first_frame_blug
dev/migrie/b/11092-unfocused-acrylic-settings
dev/migrie/localtests-in-ci
dev/migrie/b/12356-attempt-2
dev/migrie/b/12353-with-null
dev/migrie/b/12387-trim-spaces
dev/migrie/b/5033-bad-start
dev/lhecker/12351-broken-locales
dev/migrie/b/8663-input-to-oem-crash
dev/migrie/b/11743-win10-opacity-is-hard
dev/migrie/f/ctrl-click-elevate
dev/migrie/b/12196-shim-localization
dev/lhecker/issue-4015-til-rect
dev/cazamor/eim/mvvm
dev/migrie/f/--elevate
dev/migrie/b/11668-i-think
dev/migrie/b/11994-wsl-mangline
dev/migrie/eim/3475-action-xmacros
dev/migrie/eim/incremental-build-000
dev/cazamor/a11y/fake-uia-data
dev/migrie/f/non-terminal-content-elevation-warning
dev/migrie/f/632-on-warning-dialog
dev/lhecker/rgba
dev/migrie/b/8480-keybindings-in-tabs
release-1.11
dev/migrie/b/11561-dead-ends
dev/migrie/oct-21-roadmap-update
dev/migrie/fhl/adaptive-card-extension
dev/cazamor/test/11440
dev/migrie/f/warning-dlg-automation
dev/migrie/b/1.12-crash-on-exit
dev/migrie/b/11146-next-tab-in-cmdpal
release-1.10
dev/migrie/5ff9a24-and-75e2b5f
dev/duhowtt/hax/cpal-jumplist-async
dev/lelian/actionid/1
dev/migrie/f/just-elevated-state
dev/lhecker/terminal-settings-cleanup
dev/migrie/gh-10824
dev/pabhoj/cursor_light
dev/migrie/oop/wandavision
dev/migrie/oop/endgame
dev/migrie/oop/infinity-war
dev/lhecker/app-state-actually-hidden
dev/migrie/b/6160-dynamic-default-warning
dev/mgirie/b/more-nchhittest-ideas
dev/migrie/b/9320-interfacial-separation
cinnamon/fhl/find-contextmenu
dev/lhecker/wsl-distro-generator-cleanup
dev/migrie/b/10875-but-more-clever
dev/migrie/b/broken-globalsummon-overloading
dev/duhowett/hax/rle-row
dev/migrie/fhl-2021/cmdpal-select-list
dev/migrie/fhl-2021/differential-pixel-shading
dev/duhowett/hax/no-writable-glyphat
dev/migrie/fhl-2021/more-shader-variables
dev/migrie/titlebar-shenannigans
dev/miniksa/win10_font_matching
dev/lhecker/conhost-oom
dev/migrie/b/10332-less-snappy-scrolling
dev/migrie/b/7422-1px-top-border
release-1.9
dev/cazamor/move-scratch
release-1.8
dev/miniksa/manifest_2
release-1.6
release-1.7
dev/migrie/oop/the-whole-thing
dev/migrie/oop/connection-factory
dev/migrie/f/quake-dropdown-2
dev/miniksa/rle2
dev/migrie/f/quake-toCurrent-experiments-2
dev/migrie/f/quake-toCurrent-experiments
dev/migrie/f/quake-dropdown
dev/cazamor/actions-page/template
dev/duhowett/hax/cursor_stamp_foreground_background
dev/migrie/f/1860-hey-might-was-well-hack-during-a-hackathon
dev/migrie/oop-terminal.control-split-control
dev/duhowett/hax/build-with-wholearchive
dev/cazamor/spec/tsm-actions-temp
dev/migrie/oop-tear-apart-control
dev/migrie/oop-scratch-3
dev/cazamor/sui/bugfix-reload-crash
dev/migrie/f/xmacro
dev/cazamor/sui/proto/profile-nav-view
dev/migrie/f/name-windows
dev/migrie/dol/messing-with-shaders-take-1
release-1.5
dev/cazamor/sui/inheritance-hyperlinks-test
dev/migrie/r/commandline-lib-002
dev/migrie/f/com.fabrikam.toaster
dev/cazamor/adaptive-cards-prototype
dev/migrie/f/commandline-lib
dev/miniksa/zipzoom2
dev/migrie/f/remote-commandlines
dev/migrie/f/632-elevated-profiles
dev/migrie/oop-broker-000
dev/migrie/fix-pr-7015
dev/duhowett/clang
dev/miniksa/input_tests_2
dev/miniksa/input2
dev/migrie/oop-rpc-000
release-1.4
dev/migrie/oop-mixed-elevation-1
dev/migrie/oop-window-content-1
cinnamon/open-json
dev/miniksa/input_tests
dev/duhowett/hax/tsm-graphviz
dev/miniksa/input
dev/duhowett/hax/caption_buttons
release-1.3
dev/cazamor/a11y/expand-line-under-viewport
dev/cazamor/acc/ch/word-nav-perf
dev/cazamor/spec/settings-ui-architecture-draft
dev/duhowett/hax/tap_upgrade
dev/migrie/f/pane-exit-animation
release-1.2
dev/migrie/move-lib-up-and-dll-down
release-1.1
dev/migrie/f/branch-2-backup
dev/migrie/f/settings-getters-only
dev/duhowett/hax/command_palette_search
dev/migrie/f/6856-let-terminalpage-expandcommands
dev/migrie/f/theming-2020
dev/migrie/oop-scratch-4
dev/duhowett/hax/punchout
dev/migrie/s/action-ids
dev/migrie/f/lets-just-generate-these
dev/migrie/oop-scratch-2
dev/miniksa/dcomp
dev/miniksa/gotta_go_fast_spsc
dev/miniksa/gotta_go_fast
dev/miniksa/perf_skip_checks
dev/miniksa/perf_buffer_dig
dev/migrie/s/1203-cursorTextColor
dev/migrie/f/fix-intellisense-i-guess-backup
release-1.0
dev/migrie/f/execute-commandlines
dev/migrie/f/2046-Command-Palette-v2
dev/migrie/b/6421-passthrough-alt
dev/migrie/b/moving-focus-is-hard
dev/miniksa/set
dev/migrie/f/1203-phase-1
dev/migrie/f/get-localtests-in-ci
dev/cazamor/drag-panes
dev/cazamor/tile-background
release-0.11
dev/duhowett/dev/duhowett/hax/appstate_remember
dev/duhowett/load_condrv
dev/duhowett/hax/wpf_win_8_hax
dev/migrie/b/3088-weird-exact-wrap-resize
release-0.10
dev/migrie/b/4591-custom-scaling-bug
dev/duhowett/hax/attr_smuggling
dev/migrie/b/5161-mingw-vim-fix
dev/miniksa/dx_bitmap
dev/migrie/b/1503-try-messing-with-cooked-read
dev/duhowett/eyebeam
dev/migrie/b/5113-experiments
dev/duhowett/hax-selection-exclusive
dev/migrie/f/more-vt-renderer-tracing
dev/miniksa/bitmap
dev/duhowett/wprp
dev/miniksa/bitmap-mad-with-power
dev/migrie/f/resize-quirk
dev/migrie/f/reflow-buffer-on-resize-002
wpf-renderer-revert
dev/miniksa/draw
release-0.9
dev/miniksa/tabs-color-fix
dev/miniksa/4309
dev/migrie/f/just-wrapping
dev/migrie/b/3490-try-another-resize-algo
release-0.8
dev/migrie/b/3490-a-simpler-resize
dev/migrie/b/3490-resize-down
dev/miniksa/4254
dev/migrie/f/conpty-wrapped-lines-2
dev/migrie/b/be-better-at-hiding
dev/migrie/f/3327-xaml-theming-proto
dev/miniksa/gardening2
release-0.7
dev/duhowett/conpty-flags
dev/migrie/f/603-vintage-opacity
dev/migrie/PR#3181-comments
dev/duhowett/font-64
release-0.5
dev/migrie/b/663-paste-lf-always
dev/migrie/b/2011-reordered-fallthrough-strings
dev/migrie/b/411-init-tab-stops
dev/migrie/b/json-patching-is-hard
dev/migrie/b/2455-try-getting-tests-working
dev/migrie/b/1223-change-256-table
dev/migrie/f/2171-openterm.cmd
dev/migrie/f/drag-panes
dev/migrie/f/2046-command-palette
release-0.3
dev/miniksa/manager
dev/migrie/f/non-terminal-panes
dev/migrie/f/passthrough-2019
dev/miniksa/shared_pch
dev/migrie/f/1897-less-duplicated-work
release-0.2
dev/cazamor/mcs/viewport-selection
dev/duhowett/version_hack
v1.24.10212.0
v1.23.20211.0
v1.24.3504.0
v1.23.13503.0
v1.24.2812.0
v1.23.12811.0
v1.24.2682.0
v1.23.12681.0
v1.24.2372.0
v1.23.12371.0
v1.23.12102.0
v1.22.12111.0
v1.23.11752.0
v1.22.11751.0
v1.22.11141.0
v1.23.11132.0
v1.23.10732.0
v1.22.10731.0
v1.21.10351.0
v1.22.10352.0
v1.23.10353.0
v1.22.3232.0
v1.21.3231.0
v1.22.2912.0
v1.21.2911.0
v1.22.2702.0
v1.21.2701.0
v1.22.2362.0
v1.21.2361.0
v1.21.1772.0
v1.20.11781.0
v1.21.1382.0
v1.20.11381.0
v1.21.1272.0
v1.20.11271.0
v1.20.11215.0
v1.19.11213.0
v1.20.10822.0
v1.19.10821.0
v1.20.10572.0
v1.19.10573.0
v1.20.10303.0
v1.19.10302.0
v1.18.10301.0
v1.20.10293.0
v1.19.10292.0
v1.18.10291.0
v1.18.3181.0
v1.19.3172.0
v1.19.2831.0
v1.18.2822.0
v1.19.2682.0
v1.18.2681.0
v1.18.1462.0
v1.17.11461.0
v1.18.1421.0
v1.17.11391.0
v1.17.11043.0
v1.16.10261.0
v1.17.1023
v1.16.10231.0
v1.15.3465.0
v1.16.3463.0
v1.15.2712.0
v1.15.2874.0
v1.16.2641.0
v1.16.2523.0
v1.15.2524.0
v1.15.2282.0
v1.14.2281.0
v1.14.1962.0
v1.15.2002.0
v1.15.2001.0
v1.15.1862.0
v1.14.1861.0
v1.14.1451.0
v1.14.1432.0
v1.13.11431.0
v1.13.10983.0
v1.12.10982.0
v1.13.10733.0
v1.12.10732.0
v1.13.10395.0
v1.12.10393.0
v1.13.10336.0
v1.12.10334.0
v1.12.3472.0
v1.11.3471.0
v1.12.2931.0
v1.12.2922.0
v1.11.2921.0
v1.11.2731.0
v1.10.2714.0
v1.11.2421.0
v1.10.2383.0
v1.10.1933.0
v1.9.1942.0
v1.9.1523.0
v1.8.1521.0
v1.9.1445.0
v1.8.1444.0
v1.8.1092.0
v1.7.1091.0
v1.8.1032.0
v1.7.1033.0
v1.7.572.0
v1.6.10571.0
v1.5.10411.0
v1.6.10412.0
v1.6.10272.0
v1.5.10271.0
v1.5.3242.0
v1.4.3243.0
v1.5.3142.0
v1.4.3141.0
v1.4.2652.0
v1.3.2651.0
v1.3.2382.0
v1.2.2381.0
v1.1.2233.0
v1.2.2234.0
v1.1.2021.0
v1.2.2022.0
v1.1.1812.0
v1.0.1811.0
v1.1.1671.0
v1.0.1401.0
v0.11.1333.0
v0.11.1251.0
v0.11.1191.0
v0.11.1111.0
v0.11.1121.0
v0.10.781.0
v0.10.761.0
v0.9.433.0
v0.8.10261.0
v0.8.10091.0
v0.7.3451.0
v0.7.3382.0
v0.7.3291.0
v0.7.3252.0
v0.6.3181.0
v0.6.2951.0
v0.6.2911.0
v0.5.2762.0
v0.5.2761.0
v0.5.2681.0
v0.5.2661.0
v0.3.2321.0
v0.4.2342.0
v0.4.2382.0
v0.3.2171.0
v0.3.2142.0
v0.2.1831.0
v0.2.1715.0
v0.2.1703.0
v0.1.1621.0
v0.1.1581.0
v0.1.1502.0
v0.1.1431.0
v0.1.1361.0
v0.1.1093.0
v0.1.1161.0
v0.1.1204.0
experiment-master
v0.1.1025.0
experiment-OutsideBuild
broken-tabstops
RS2-final
v0.1.1002.0
experiment-rel-windows-inbox
experiment-f-ServerApp
v0.1.1211.0
1904.29002
1810.02002
1708.14008
Labels
Clear labels
⛺ Reserved
A11yCO
A11yMAS
A11ySev1
A11ySev2
A11ySev3
A11yTTValidated
A11yUsable
A11yVoiceAccess
A11yWCAG
Area-Accessibility
Area-AtlasEngine
Area-AzureShell
Area-Build
Area-Build
Area-Chat
Area-CmdPal
Area-CodeHealth
Area-Commandline
Area-CookedRead
Area-DefApp
Area-Extensibility
Area-Fonts
Area-GroupPolicy
Area-i18n
Area-Input
Area-Interaction
Area-Interop
Area-Localization
Area-Output
Area-Performance
Area-Portable
Area-Quality
Area-Remoting
Area-Rendering
Area-Schema
Area-Server
Area-Settings
Area-SettingsUI
Area-ShellExtension
Area-ShellExtension
Area-ShellExtension
Area-Suggestions
Area-Suggestions
Area-TerminalConnection
Area-TerminalControl
Area-Theming
Area-UserInterface
Area-VT
Area-Windowing
Area-WPFControl
AutoMerge
Blocking-Ingestion
Culprit-Centennial
Culprit-WinUI
Disability-All
Disability-Blind
Disability-LowVision
Disability-Mobility
External-Blocked-WinUI3
Fixed
Gathering-Data
good first issue
HCL-E+D
HCL-WindowsTerminal
Help Wanted
Impact-Compatibility
Impact-Compliance
Impact-Correctness
Impact-Visual
In-PR
InclusionBacklog
InclusionBacklog-Windows TerminalWin32
InclusionCommitted-202206
Issue-Bug
Issue-Docs
Issue-Feature
Issue-Feature
Issue-Question
Issue-Samples
Issue-Scenario
Issue-Task
Needs-Attention
Needs-Author-Feedback
Needs-Bisect
Needs-Discussion
Needs-Repro
Needs-Tag-Fix
Needs-Tag-Fix
Needs-Triage
No-Recent-Activity
Priority-0
Priority-1
Priority-2
Priority-3
Product-Cmd.exe
Product-Colortool
Product-Colortool
Product-Colortool
Product-Conhost
Product-Conpty
Product-Meta
Product-Powershell
Product-Terminal
Product-WSL
pull-request
Resolution-Answered
Resolution-By-Design
Resolution-Duplicate
Resolution-External
Resolution-Fix-Available
Resolution-Fix-Committed
Resolution-No-Repro
Resolution-Won't-Fix
Severity-Blocking
Severity-Crash
Severity-DataLoss
spam
this-will-be-a-breaking-change
Tracking-External
WindowsTerminal_Win32
Work-Item
zAskModeBug
zInbox-Bug
Mirrored from GitHub Pull Request
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/terminal#13580
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @getify on GitHub (Apr 21, 2021).
Apologies if this is a dupe... I searched and found related but not exact reports.
About once per week or two, I wake up and find that my Windows Terminal app (installed from Windows Store) has closed. I re-open it and re-launch my various tabs and processes. The computer didn't restart because my other apps are still in their previous state, but Windows Terminal is just closed. Maybe it crashed? Maybe Windows force-closed it (that's my guess)?
But often, one of these process launches will fail because the port I'm trying to bind to is still in use. This clues me in to look at my open processes list (
ps ax), and I'm sometimes horrified to see that I have a dozen or more open bash processes (plus any child processes they may have been running), just sitting there all orphaned. I'm sort of amazed that they are still able to run without being attached to any terminals -- but more annoyed by it (especially given the battery drain I experience). I've been able to see a noticeable decrease in battery life, as much as 1-2 hours from a full charge usage in the cases where a bunch of those background processes are just sitting around orphaned.Then I have to manually go through and
sudo kill -9all of those.When I manually closed Terminal, it kills all my open sessions. But somehow, someway, this occasional closing of terminal that occurs (on purpose or via crash, I dunno) orphans them somewhat more "predictably" (as in, happens pretty much every time).
I found #3915, which could be the explanation, and there was one comment in that now-locked thread that mentioned some orphan processes... but I'm filing this issue specifically because it seems quite a defect that Terminal can somehow close (for any reason) without killing all its child processes. I can't come up with any example where that should be possible. This seems like a significant defect that should be addressed.
@zadjii-msft commented on GitHub (Nov 1, 2021):
(Dunno how this one missed the triage queue...)
That's definitely not what we'd want to have happen. We've got unfortunately very little say in the matter when we get force-updated by the store, (#3915, #6726, etc), but it's troubling that the child processes are orphaned instead of killed.
Does this consistently happen with the children of one particular type of shell? For example, does this always happen with WSL processes, or does it happen with children running in
powershell.exetoo?I just want to try and get a complete picture here before I reach our to our store/deployment teams.
That would seem to suggest that this isn't due to the Store updating it. That could have been an anomaly, we could have updated a couple times in the time leading up to this original post, idk. If this is still happening with some frequency, can you try following the steps in this post to set up automatic crash dumps? If that works, then you should be able to automatically get a
.dmpof the terminal when it crashes. Then, can you zip that dump up and send it to us, so we can investigate? Thanks!@getify commented on GitHub (Nov 1, 2021):
Yeah, I don't think it was the Store updating the app, at least not that I could directly link it to. I don't think I have auto-updating enabled on my Windows... I believe I have to approve updates and intentionally let them run.
I generally leave my computer on 24/7, and what I was observing was just when I came back to it in the morning, the Terminal app was closed (but other windows were still open). Occasionally, I would see that the computer had re-started itself, and the terminal didn't re-open, but in those cases since the computer re-started, I (obviously) didn't see any orphaned processes in those cases.
In the case of the app itself closing without a computer restart, THAT is where the orphaned processes would build up. And I would only discover that if/when I would re-launch the Terminal and then try to run a process that, for example, binds to an IP address/port, and would be alerted that the IP/port was already bound (even though I just re-opened the Terminal). Another symptom was that if I would run
ps ax, I would see dozens of processes still running that I would have expected had been killed weeks earlier (from previous closing of the app).I only use Terminal with WSL (debian), so I can't say if this was happening for other types of terminal sessions.
All that said, I don't think I've had the Terminal crash on me since about June or maybe July.
@getify commented on GitHub (Nov 1, 2021):
I should add, I believe there were times when I intentionally closed the whole Terminal app (without individually killing running processes in each open Terminal tab), and I believe there were times when some of those processes were cleanly killed, and other times where those processes were orphaned.
@zadjii-msft commented on GitHub (Nov 1, 2021):
Huh.
Well that's a good thing!
I'm gonna leave this open for another week or so, esp. since I just redirected #11651 here. This might be a weird interaction with Terminal+Store+WSL, where the Store kills the terminal&conhost in such a way that WSL doesn't realize it and doesn't shut itself down like it would if you closed the console window normally. @craigloewen-msft You know if you guys have heard of anything like this on the WSL side?
@j4james commented on GitHub (Nov 1, 2021):
Note that we've also had reports of orphaned processes in issue https://github.com/microsoft/terminal/issues/3915#issuecomment-630252284 and issue #7345.
@l10nelw commented on GitHub (Nov 2, 2021):
Happens with WSL Ubuntu too.
@chrystalis commented on GitHub (Nov 2, 2021):
I do believe that the store updates are causing this. It is very unpleasant to come back to my machine in the morning and find my terminals gone and a bunch of orphaned WSL1 (Ubuntu 18.04) and WSL2 (Ubuntu 20.04) processes.
I just found #6726 and have subsequently turned off store application auto-updates, though I don't recall ever having turned it on.
From the AppXDeployment-Server event log - apparently it waited 2.5 days before unceremoniously closing my terminals, but I did not know since it never provided any actual notification in the UI:
Same thing happened a couple of weeks ago:
@craigloewen-msft commented on GitHub (Nov 2, 2021):
@zadjii-msft this isn't something I'm aware of from the WSL side
@getify commented on GitHub (Nov 3, 2021):
I have an update: I am still seeing orphaned processes... Here's two screenshots, the first one is what my
ps axoutput showed just a few minutes ago, after I had closed my Terminal app and re-opened it fresh with a single tab.Now here's what the process list looks like after I did a computer re-start.
As you can see in the previous screenshot compared to this fresh one, before the restart there's a whole bunch of orphaned "init" and "bash" processes there, all of which come from previous tab sessions I had open at some point when the Terminal window was closed (in some way or another).
@chrisan commented on GitHub (Nov 3, 2021):
Just following up from the duplicate issue (sorry!) This does indeed consistently happen with WSL Ubuntu 20.4 and windows store updates.
My normal dev is to have a local dev server via Laravel's
php artisan serveand another to check for TypeScript changes and recompile. I leave both of these on pretty much 100% of the time and let my computer sleep each night after work. In the mornings when I notice my terminal has been closed I will try to restart these process and get notified a port is already in use. This is when I open task manager and kill the bash processes then load terminal again to try starting the local dev tools againI'm sorry I am not a powershell user, but if there is a command you'd like me to have running as a test for the next time windows store does an update I won't mind having that run. Also I will need to know a way that it is already running orphaned like I can tell with WSL and the bash processes, basically what should I look for wrt powershell processes.
@zadjii-msft commented on GitHub (Nov 3, 2021):
@craigloewen-msft Can you follow up with the rest of the WSL team and see if there's any thoughts they have on the matter? I'm not sure what the Terminal should be doing better here to make sure that the WSL processes are terminated in the same way that other win32 console apps are.
I don't know what the best way to repro this reliably - maybe we could install an older Terminal version manually (from the Releases page), then search for updates in the store. That should cause the store to update the package, orphaning the processes. If we wanted to do it all again, we should be able to just uninstall the Terminal and try again.
@zadjii-msft commented on GitHub (Nov 8, 2021):
@benhillis to see if you have any ideas how we might debug this (aside from the weird manual install path above), or if you have any other WSL-side input that might be useful for debugging this
@june07 commented on GitHub (Feb 6, 2022):
Same deal here and this problem has been ongoing since using terminal (over a year now). Can see the terminal process in the task manager and yet the terminal itself is nowhere to be found. Processes that were opened via the terminal are still running fine and visible in the process manager, however there is no way to re-attach to the terminal!
@getify commented on GitHub (Apr 12, 2022):
Just reporting this is still happening... Something from earlier today (dunno what) closed my Windows Terminal instance. When I relaunched it just now, I ran
ps axin the first tab I opened, and here's what it says:That's a lot of bash/terminal sessions orphaned. Frustrating.
@june07 commented on GitHub (Apr 13, 2022):
Same deal for me... just happened yesterday.
@therealcodeninja commented on GitHub (Apr 22, 2022):
Same here. It doesn't happen often thankfully, but when it does I have to go and kill the processes.
@wolfgang-koch commented on GitHub (Apr 23, 2022):
Happened to me on two different machines these past days as well. I'd happily appreciate if we could turn auto-updating off and instead just get a notification within terminal.
@zinodaur commented on GitHub (Jul 24, 2022):
+1 still happening. I guess its better that they are orphaned instead of terminated. Will start using WSL2 sessions inside of a
tmuxso that I can rescue them if this happens@daviewales commented on GitHub (Jul 27, 2022):
I just got this with PowerShell.
I logged in this morning, and my Windows Terminal is gone, but all my running processes are still there:
I was right in the middle of a debugging session too, so it's going to be a pain to get back to where I was.
Why does Windows think it's OK to forcibly close my terminal while it's running?!!
EDIT: Looks like I got hit by #6726:

@zadjii-msft commented on GitHub (Jul 29, 2022):
This might have been mitigated by #13614. Once that ships, the subsequent update shouldn't do this anymore. E.g. that PR will land in 1.16.A. When 1.16.A is installed, this will still happen. Whenever 1.16.B arrives, or 1.17, then that update shouldn't cause this again. So it'll probably be a few months before we can confirm, but I think it'll help.
@getify commented on GitHub (Jul 29, 2022):
@zadjii-msft That thread isn't clear (to me)... does quitting vs closing actually mean that the terminal will kill all its currently running (incl background) child processes?
@zadjii-msft commented on GitHub (Jul 29, 2022):
Theoretically, yes. I think I found a mechanism by which the OS will tell us if we are about to be updated. When that happens
I could be wrong, this is definitely just a hypothesis.
@getify commented on GitHub (Jul 29, 2022):
I just tried running a background command
tail -f network-log.txt &from a bash shell tab, and then issuingexitto close the tab. The tab closed fine, but when I didps axfrom another tab, the background process was still running.Then I closed the whole terminal instance (all tabs), and re-opened. The background process was still running, as was the
/initparent process for it. I then killed thetail -fbackground process, and both of them went away.I guess my point is, I don't think assuming that "clean shutdown" means "don't orphan processes" is going to fix the full issue. It may improve it, but... I think the assumption is that any process which was started by a terminal session, goes away if that terminal session goes away. And that doesn't appear to be the case even in a clean shutdown, much less in a non-clean shutdown.
@zadjii-msft commented on GitHub (Jul 29, 2022):
I mean, that repros even in a conhost window. That's not really a terminal issue, that's a part of WSL&linux itself. The
tailprocess isn't attached to the console anymore, so closing the console doesn't close it. Heck, that repros even withgnome-terminalrunning in the same WSL instance. Once the process is detached from the tty, closing the terminal isn't gonna do anything.The issue I'm more worried about is us unintentionally orphaning processes, during upgrade, when they should be closed during a normal exit.
@getify commented on GitHub (Jul 29, 2022):
I'm certainly no linux expert, so I may be missing something critical here. But I believe you can bring a background process back to a console/tty terminal session, so it doesn't seem like it's entirely disconnected/independent.
At least on my linux systems, it's not really possible to "close" the terminal, as it's part of the OS and is always available, so it doesn't seem to translate here, where terminal is an app that can completely close.
I'm just asserting that I think it's not an uncommon assumption that everything that a program spawns can get killed off when you close the main program.
@g-regor commented on GitHub (Jul 30, 2022):
Killing all the subprocesses might not be the best solution. In this orphaned state they are still running and might actually finish their job.
Could it be possible to remember the subprocesses, before the terminal is closed for update and ask to reattach or close them on the next run?
@getify commented on GitHub (Jul 30, 2022):
I like @g-regor's suggestion, that seems much better.
@zadjii-msft commented on GitHub (Aug 1, 2022):
Okay so I think we're confusing two bits of this thread. If the updating the Terminal is causing foreground processes to get orphaned, then that's a real issue. However, after rereading the thread, it seems like that's not the issue. It seems like what's happening is that there are processes running in the background in WSL, the Terminal is getting updated, but those processes aren't getting killed. And that all seems by design - the processes are no longer connected to any console session, so there's no reason they should recieve any exit signal from the console (attached to the Terminal) closing.
This is pretty standard even in linux OS's - detaching a process from the terminal, and then killing the terminal, doesn't quit out of everything that was once attached to the terminal (but is now in the background). That we're not about to change here either.
I could've swore there was a better way to reattach to bg processes, but after reading a couple S/O posts [one, two], seems like that's not trivial. Maybe I'm just so used to doing everything in
tmuxthat I assumed it was a default feature.I don't think it would be possible for the Terminal to somehow maintain a live pty for these foreground processes across reboots, and then reattach to that pty. I also don't think it's possible for the Terminal to create a new pty for these background processes and attach to them, certainly not trivially. (happy to be proven wrong)
Now, looking at https://github.com/microsoft/terminal/issues/9914#issuecomment-1097224160, that screenshot shows a whole pile of
bashprocesses that are listed withpts, withSs+. So WSL thinks they're all attached to some terminal, in interruptible sleep (waiting for an event to complete), they're the session leader, and they're in the foreground process group. That to me suggests that the processes did get orphaned despite being in the foreground. That we should fix, and is what should be fixed by #13614 in a few releases time.@getify commented on GitHub (Aug 2, 2022):
I don't think things are particularly confused. I think there's two kinds of processes that are getting abandoned when a terminal session shuts down (or restarts itself). Some of those are, indeed, bash sessions (active foreground processes) and some of those might be background processes spun off from those.
What I'm asserting is, if windows can force-close a terminal window, it shouldn't completely abandon either kind of process.
Either killing them all off, or (as @g-regor suggested), resume them all after the next start.
I admit I don't know how difficult it would be, but it seems like Terminal could/should remember each time one of its tab processes creates a new process, and if (right when it's shutting down) it sees that process is still running, it should either kill it (regardless of if it's a foreground or background process), OR it could just save that list of process-IDs, and on next restart, it checks to see if those are still there.
If it's not possible to resume, it could prompt the user with those processes and ask what they want to do for each, like "Kill this one? vs Leave it alone."
@getify commented on GitHub (Aug 2, 2022):
For reference on foreground vs background, it's fairly common for me to start up node web-server instances in my bash sessions. Sometimes I leave those as foreground (thereby tying up the bash session in that tab), and sometimes I suspend them to a background process.
If my Terminal app dies, I don't want any of those foreground Node server instances still running, attached to orphaned bash sessions, because they're still tying up a localhost network port. But I also don't want any background Node server instances still running as zombies, for the same reason.
@daviewales commented on GitHub (Aug 2, 2022):
This is exactly what happened to my foreground PowerShell processes when the friendly Windows Store forcibly closed my terminal while I was asleep...
@getify commented on GitHub (Aug 2, 2022):
Here's another idea: how about just not closing Terminal when it's being updated. It's a more important kind of program than your typical app, and it often is used in very-long-running scenarios. Instead of force updating and restarting, the update feature should tell the user that the update will be applied on the next restart of the app, and let the user choose (and handle all the processes).
@j4james commented on GitHub (Aug 2, 2022):
There's an upcoming Store change which I think will give you that option. See https://github.com/microsoft/terminal/issues/6726#issuecomment-1147358557
@zadjii-msft commented on GitHub (Aug 2, 2022):
There are plenty of other threads on that specific topic - I'm gonna pretty explicitly keep this thread on-topic to the orphaning processes issue. See See https://github.com/microsoft/terminal/issues/6726#issuecomment-1147358557 for more. (thanks for the link @j4james)
@ukdocCT commented on GitHub (Aug 18, 2022):
Following on from this: https://github.com/microsoft/terminal/issues/9914#issuecomment-1199499522
If it gracefully closes (after the initial notification), and then (if) closes all the sessions, or gets forced closed (after the 30s) then that is only slightly better than the current situation. Yes we don't have any orphaned consoles, but it still closes out all our consoles meaning we loose work.
As someone that regularly has a lot of different consoles open doing different things this is just a nightmare. Regularly i will leave something running in a powershell or WSL session to come in the following morning and have no idea where my scripts got to as i have no way of reattaching to the consoles.
As others have said even uninstalling from the store and installing the msixbundle directly still gets picked up by the store and auto updated.
On my home machine i only ever installed via the appxbundle and that never auto-updates and allows me to perform a controlled updated when i have time, but that may be because i dont auto-update my store apps.
Hopefully there will be a way of convincing the store to give up its claim to the manually install msixbundle.
@ricklove commented on GitHub (Oct 6, 2022):
This happens to me about once a month. I wake up in the morning and windows terminal is closed. This is usually about 5 windows with 2-5 tabs each so it's not a great experience.
I actually like the fact that it doesn't kill the process (well if I had a long running process doing some work anyway), but it would be great if it could reconnect each window and tab. (vscode does this well)
Since windows has been begging for an update, I guess it's time to restart now.
@getify commented on GitHub (Oct 6, 2022):
FYI:
I recently found this tool reptyr, which re-parents a process to a current tty. YMMV, but it may be helpful as a temporary work-around if you have shell orphaned processes that you'd like to reclaim, and perhaps either shutdown cleanly or just continue to monitor until it completes.
I've tested it on current tty sessions and processes, but I plan to test it on orphaned processes the next time my shell dies thanks to windows (store).
@ukdocCT commented on GitHub (Oct 7, 2022):
unfortunately, i think that will only reattach linux sessions once inside the linux session - similar to tmux etc, i dont think that will work in Windows with reattaching WSL, batch or similar.
@zadjii-msft commented on GitHub (May 3, 2023):
Hey so loop back on the original root issue tracked in this thread: "CLI processes are orphaned when the Terminal is updated by the store" - has anyone seen that in the 1.15->1.16+ updates?
In 1.15, we merged #13614, which should have fixed this for the subsequent updates to 1.16 / 1.17. I believe there might have also been some changes to the conpty handling in 1.17 that should have made this more robust.
If it's still happening, then we'll have to go back to the drawing board on finding a setup to repro that consistently.
@getify commented on GitHub (May 3, 2023):
Here's what I'm still seeing regularly:
an update closes the whole app, losing all my tabs -- this super sucks, and I still cannot understand how anyone believes this is the right thing for a long-lived app to be able to forcibly close on update with no restoration. almost no other app (browser, editor, etc) could get away with that.
on occasion (maybe once per month), it seems like an update fails to close my full terminal session, but what it does instead is MUCH worse... it basically crashes the WSL process... I see the CPU on my system start spiking to 60%+ usage, fans spin, and the main process is like "virtual mem" or something. The WSL is then completely unusable, and I cannot even restart the terminal to connect to a new WSL session. I also can't close the process since it's some protected system process. the only fix is to restart the computer.
Also, I know you've triaged this thread as if "forced closed" is somehow a separate issue from my original OP of orphaned processes. I am persisting in linking the two, because they are two sides of the same problem.
I think it's mishandling of my report to say "great, we no longer have orphaned processes" because that was just one smaller aspect of the larger problem. What I meant when I filed this was not ONLY the orphaning, but the fact that force closes ARE THE PROBLEM.
In other words, the bug of orphaned processes is a symptom, not a root cause.
It's not very much comfort that one symptom might have been fixed but the deeper problem is just ignored as off-topic.
@ukdocCT commented on GitHub (May 3, 2023):
I believe this is a consequence of it being a UWP app which for the most part i believe are designed to be suspended and restarted without loosing context and data.
I have tried to untangle my install from the store - totally unsuccessfully, so have now turned off auto-updates in the store so that i can control when the updates occur and not loose the dozen or so consoles i have open on my daily machine.
@zadjii-msft commented on GitHub (May 3, 2023):
I like to triage issues as separate root causes. In this case, this report covered two problems:
Now, we already have another thread with a very long discussion on the first topic, over in #6726. If that was the only point being made in this thread, I would have long ago closed this as a duplicate.
The orphaning of processes described in this thread is a wholly unique issue, so I choose instead to focus this thread on that particular effect. We can try to remedy that issue independently of the (much harder to resolve) first issue.
The Terminal is not a UWP app. That's kind of an outdated notion in 2023. The Terminal is a packaged, full-trust, win32 application that uses UWP XAML, via XAML Islands is the most correct way to describe ~ w h a t ~ the terminal is. In this case, the "packaged" element is the most relevant, because it's the way that the Store interacts with packaged applications that results in what you're describing.
I suspect (using only psychic debugging) that the "an update crashes WSL and spins a CPU" issue is also a side effect of #6726 / "the store kills apps for updates". I'm not a WSL engineer, so I have no idea how to investigate that further. I'd recommend filing this on https://github.com/microsoft/WSL. My psychic debugging theory is that this is also due to the Store killing the WSL package, to update WSL, and they'll need a similar fix as to #6726. (this is something we've discussed offline with them)
@zadjii-msft commented on GitHub (Feb 7, 2024):
Okay so
<uap17:UpdateWhileInUse>defer</uap17:UpdateWhileInUse>1 I think should have fixed this, at least on the Terminal side, and for Windows 112 . That should stop the store from killing us for updates.Now, if there's other scenarios where the Terminal crashes and that leaves orphaned processes: we should probably file a new thread to track that at this point. This thread has pretty heavily drilled in on "terminal gets force killed and that orphans things", and with that fixed, I'd like to track other root causes separately.
Thanks all!
Which we added in #16250, v1.20.10293.0 and v1.19.3172.0 ↩︎
Alas, that feature requires OS-side support, so it's not something we can bring with us downlevel. ↩︎