electron-userland / electron-userland/electron-webpack
“electron-webpack dev” doesn’t close all child processes
- Dominant language
- TypeScript
- Stars
- 902
- Forks
- 168
- PR merge metrics
- No merged PRs in 30d
Description
Steps to reproduce:
1. clone https://github.com/electron-userland/electron-webpack-quick-start and follow installation instructions;
2. run `yarn dev`.
This will start `electron-webpack dev` which in my case resulted in the following processes being started:
```shell
$ pstree -p 22667
node(22667)─┬─sh(22687)───node(22688)───node(22689)─┬─electron(22715)─┬─electron(22717)─┬─electron(22749)─┬─{electron}(22750)
│ │ │ │ ├─{electron}(22751)
│ │ │ │ ├─{electron}(22752)
│ │ │ │ ├─{electron}(22753)
│ │ │ │ ├─{electron}(22754)
│ │ │ │ ├─{electron}(22755)
│ │ │ │ ├─{electron}(22756)
│ │ │ │ ├─{electron}(22757)
│ │ │ │ ├─{electron}(22758)
│ │ │ │ ├─{electron}(22759)
│ │ │ │ ├─{electron}(22760)
│ │ │ │ ├─{electron}(22761)
│ │ │ │ ├─{electron}(22803)
│ │ │ │ ├─{electron}(22816)
│ │ │ │ ├─{electron}(22817)
│ │ │ │ ├─{electron}(22818)
│ │ │ │ └─{electron}(22819)
│ │ │ ├─electron(22766)─┬─{electron}(22768)
│ │ │ │ ├─{electron}(22769)
│ │ │ │ ├─{electron}(22770)
│ │ │ │ ├─{electron}(22771)
│ │ │ │ ├─{electron}(22772)
│ │ │ │ ├─{electron}(22773)
│ │ │ │ ├─{electron}(22774)
│ │ │ │ ├─{electron}(22782)
│ │ │ │ ├─{electron}(22784)
│ │ │ │ ├─{electron}(22785)
│ │ │ │ ├─{electron}(22791)
│ │ │ │ ├─{electron}(22793)
│ │ │ │ └─{electron}(22804)
│ │ │ └─electron(22767)─┬─{electron}(22775)
│ │ │ ├─{electron}(22776)
│ │ │ ├─{electron}(22777)
│ │ │ ├─{electron}(22779)
│ │ │ ├─{electron}(22780)
│ │ │ ├─{electron}(22781)
│ │ │ ├─{electron}(22783)
│ │ │ ├─{electron}(22786)
│ │ │ ├─{electron}(22787)
│ │ │ ├─{electron}(22788)
│ │ │ ├─{electron}(22789)
│ │ │ ├─{electron}(22808)
│ │ │ ├─{electron}(22820)
│ │ │ └─{electron}(22821)
│ │ ├─electron(22745)─┬─{electron}(22794)
│ │ │ ├─{electron}(22795)
│ │ │ ├─{electron}(22796)
│ │ │ ├─{electron}(22797)
│ │ │ ├─{electron}(22798)
│ │ │ ├─{electron}(22799)
│ │ │ ├─{electron}(22800)
│ │ │ └─{electron}(22801)
│ │ ├─{electron}(22716)
│ │ ├─{electron}(22718)
│ │ ├─{electron}(22719)
│ │ ├─{electron}(22720)
│ │ ├─{electron}(22721)
│ │ ├─{electron}(22722)
│ │ ├─{electron}(22723)
│ │ ├─{electron}(22724)
│ │ ├─{electron}(22725)
│ │ ├─{electron}(22726)
│ │ ├─{electron}(22727)
│ │ ├─{electron}(22728)
│ │ ├─{electron}(22729)
│ │ ├─{electron}(22730)
│ │ ├─{electron}(22731)
│ │ ├─{electron}(22733)
│ │ ├─{electron}(22734)
│ │ ├─{electron}(22738)
│ │ ├─{electron}(22740)
│ │ ├─{electron}(22741)
│ │ ├─{electron}(22742)
│ │ ├─{electron}(22743)
│ │ ├─{electron}(22744)
│ │ ├─{electron}(22746)
│ │ ├─{electron}(22748)
│ │ ├─{electron}(22812)
│ │ ├─{electron}(22813)
│ │ ├─{electron}(22814)
│ │ └─{electron}(22815)
│ ├─node(22701)───node(22702)─┬─{node}(22703)
│ │ ├─{node}(22704)
│ │ ├─{node}(22705)
│ │ ├─{node}(22706)
│ │ ├─{node}(22707)
│ │ ├─{node}(22708)
│ │ ├─{node}(22709)
│ │ ├─{node}(22710)
│ │ └─{node}(22711)
│ ├─{node}(22690)
│ ├─{node}(22691)
│ ├─{node}(22692)
│ ├─{node}(22693)
│ ├─{node}(22694)
│ ├─{node}(22695)
│ ├─{node}(22696)
│ ├─{node}(22697)
│ └─{node}(22698)
├─{node}(22678)
├─{node}(22679)
├─{node}(22680)
├─{node}(22681)
├─{node}(22682)
├─{node}(22683)
├─{node}(22684)
├─{node}(22685)
└─{node}(22686)
```
Then I closed application window and 22667 is, correctly, gone.
```shell
$ pstree -p 22667
```
But something still occupies my RAM and apparently that’s…
```shell
$ pstree -p 22701
node(22701)───node(22702)─┬─{node}(22703)
├─{node}(22704)
├─{node}(22705)
├─{node}(22706)
├─{node}(22707)
├─{node}(22708)
├─{node}(22709)
├─{node}(22710)
└─{node}(22711)
$ ps --no-headers o command ww 22701
/bin/sh /tmp/user/…/yarn--…-…/node /home/…/electron-webpack-problem/node_modules/webpack-dev-server/bin/webpack-dev-server.js --color --env.autoClean=false --config /home/…/electron-webpack-problem/node_modules/electron-webpack/webpack.renderer.config.js
```
Unfortunately, `SIGTERM` still doesn’t close all processes:
```shell
$ pstree -p 22701
$ pstree -p 22702
node(22702)─┬─{node}(22703)
├─{node}(22704)
├─{node}(22705)
├─{node}(22706)
├─{node}(22707)
├─{node}(22708)
├─{node}(22709)
├─{node}(22710)
└─{node}(22711)
$ ps --no-headers o command ww 22702
/usr/bin/node /home/…/electron-webpack-problem/node_modules/webpack-dev-server/bin/webpack-dev-server.js --color --env.autoClean=false --config /home/…/electron-webpack-problem/node_modules/electron-webpack/webpack.renderer.config.js
```
`SIGTERM`ing 22702 finally frees up my RAM and gets rid of unnecessary processes.
I think that relatively long waiting period before returning to terminal prompt (where I had run `yarn dev`) after application window was closed may be related to the above issue.
(Node 8, GNU/Linux.)
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.