Title: concore stop reports success on Windows even when taskkill fails · Issue #280 · ControlCore-Project/concore · GitHub
Open Graph Title: concore stop reports success on Windows even when taskkill fails · Issue #280 · ControlCore-Project/concore
X Title: concore stop reports success on Windows even when taskkill fails · Issue #280 · ControlCore-Project/concore
Description: In concore_cli/commands/stop.py, the Windows kill path uses check=False and never looks at the return code: subprocess.run(['taskkill', '/F', '/PID', str(pid)], capture_output=True, check=False) # never raises console.print(f" ✓ Stopped ...
Open Graph Description: In concore_cli/commands/stop.py, the Windows kill path uses check=False and never looks at the return code: subprocess.run(['taskkill', '/F', '/PID', str(pid)], capture_output=True, check=False) # ...
X Description: In concore_cli/commands/stop.py, the Windows kill path uses check=False and never looks at the return code: subprocess.run(['taskkill', '/F', '/PID', str(pid)], capture_outp...
Opengraph URL: https://github.com/ControlCore-Project/concore/issues/280
X: @github
Domain: patch-diff.githubusercontent.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"concore stop reports success on Windows even when taskkill fails","articleBody":"In concore_cli/commands/stop.py, the Windows kill path uses check=False and never looks at the return code:\n\n subprocess.run(['taskkill', '/F', '/PID', str(pid)], \n capture_output=True, \n check=False) # never raises\n console.print(f\" ✓ Stopped {name}\") # always prints success\n killed_count += 1 # always counts as killed\n\nOn POSIX, a failed terminate() raises TimeoutExpired which gets caught and escalated to kill(). There's actual feedback.\n\nOn Windows, if taskkill fails (Access Denied, PID not found, protected process), execution falls through silently and the user sees \"Successfully stopped all N process(es)\" when nothing was actually stopped.\n\nThe fix is straightforward: check result.returncode != 0 and raise or log accordingly, thx","author":{"url":"https://github.com/avinxshKD","@type":"Person","name":"avinxshKD"},"datePublished":"2026-02-12T08:35:52.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":1},"url":"https://github.com/280/concore/issues/280"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:9ccadf37-63e2-f1e7-b883-22344143bbdd |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | E478:15E137:1B58D:24686:698E4DD7 |
| html-safe-nonce | 7cebf71915314059fc008bc2e90a4b97c630a1b6d3f61b56f337332a36e2a247 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFNDc4OjE1RTEzNzoxQjU4RDoyNDY4Njo2OThFNERENyIsInZpc2l0b3JfaWQiOiIzNTU3NzMxNDk3MDc4MDUwMjYzIiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | f87dd6297607056a450566004fe0c3ee32142d87cb078e5af00efcc1d0822fad |
| hovercard-subject-tag | issue:3930535986 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/ControlCore-Project/concore/280/issue_layout |
| twitter:image | https://opengraph.githubassets.com/070c15c749ae94fe3ae212cc34f9f0bc6b3035c397496b72d8a5aff49ee62749/ControlCore-Project/concore/issues/280 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/070c15c749ae94fe3ae212cc34f9f0bc6b3035c397496b72d8a5aff49ee62749/ControlCore-Project/concore/issues/280 |
| og:image:alt | In concore_cli/commands/stop.py, the Windows kill path uses check=False and never looks at the return code: subprocess.run(['taskkill', '/F', '/PID', str(pid)], capture_output=True, check=False) # ... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | avinxshKD |
| hostname | github.com |
| expected-hostname | github.com |
| None | 0e08b85f0035d49bc4c22868f70a4d30fb8c2a777936895c37e78df095242ddc |
| turbo-cache-control | no-preview |
| go-import | github.com/ControlCore-Project/concore git https://github.com/ControlCore-Project/concore.git |
| octolytics-dimension-user_id | 79023615 |
| octolytics-dimension-user_login | ControlCore-Project |
| octolytics-dimension-repository_id | 444936447 |
| octolytics-dimension-repository_nwo | ControlCore-Project/concore |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 444936447 |
| octolytics-dimension-repository_network_root_nwo | ControlCore-Project/concore |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | ab1cf30f0feb8db377fc0d52bc41f0105f9b4181 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width