{"action":"created","issue":{"url":"https://api.github.com/repos/atom/atom/issues/15046","repository_url":"https://api.github.com/repos/atom/atom","labels_url":"https://api.github.com/repos/atom/atom/issues/15046/labels{/name}","comments_url":"https://api.github.com/repos/atom/atom/issues/15046/comments","events_url":"https://api.github.com/repos/atom/atom/issues/15046/events","html_url":"https://github.com/atom/atom/pull/15046","id":243592254,"number":15046,"title":"Kill all the child processes first on killing a buffered process","user":{"login":"karljang","id":861393,"avatar_url":"https://avatars2.githubusercontent.com/u/861393?v=4","gravatar_id":"","url":"https://api.github.com/users/karljang","html_url":"https://github.com/karljang","followers_url":"https://api.github.com/users/karljang/followers","following_url":"https://api.github.com/users/karljang/following{/other_user}","gists_url":"https://api.github.com/users/karljang/gists{/gist_id}","starred_url":"https://api.github.com/users/karljang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/karljang/subscriptions","organizations_url":"https://api.github.com/users/karljang/orgs","repos_url":"https://api.github.com/users/karljang/repos","events_url":"https://api.github.com/users/karljang/events{/privacy}","received_events_url":"https://api.github.com/users/karljang/received_events","type":"User","site_admin":false},"labels":[{"id":193722948,"url":"https://api.github.com/repos/atom/atom/labels/needs-review","name":"needs-review","color":"bfe5bf","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2017-07-18T03:50:34Z","updated_at":"2017-08-01T15:41:09Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/atom/atom/pulls/15046","html_url":"https://github.com/atom/atom/pull/15046","diff_url":"https://github.com/atom/atom/pull/15046.diff","patch_url":"https://github.com/atom/atom/pull/15046.patch"},"body":"### Description of the Change\r\n\r\nOn killing a buffered process, this patch ensures that all of its child processes are killed first.\r\n\r\n<!--\r\n\r\nWe must be able to understand the design of your change from this description. If we can't get a good idea of what the code will be doing from the description here, the pull request may be closed at the maintainers' discretion. Keep in mind that the maintainer reviewing this PR may not be familiar with or have worked with the code here recently, so please walk us through the concepts.\r\n\r\n-->\r\n\r\n### Alternate Designs\r\n\r\nIt might be possible to do the same thing at the client side of BufferedProcess, but BufferedProcess is already doing it on Windows platform as you can see in BufferedProcess.killOnWindows(). That's the reason why I added killOnNix() to BufferedProcess.\r\n<!-- Explain what other alternates were considered and why the proposed version was selected -->\r\n\r\n### Why Should This Be In Core?\r\n\r\nBufferedProcess is already doing the same thing on Windows platform, therefore it'll be better to have the same functionality on *nix platforms\r\n<!-- Explain why this functionality should be in atom/atom as opposed to a package -->\r\n\r\n### Benefits\r\n\r\nWe don't have to use Terminal or Task Manager to check if a grand-child process is still running or not.\r\n<!-- What benefits will be realized by the code change? -->\r\n\r\n### Possible Drawbacks\r\n\r\nWhenever Atom calls BufferedProcess.kill(), it'll spawn 'pkill' to kill all possible child processes.  But, anyway, Atom already do the same thing by running 'wmic' on Windows :)\r\n<!-- What are the possible side-effects or negative impacts of the code change? -->\r\n\r\n### Applicable Issues\r\n\r\nIt fixes #7252 : Problem with killing children processes \r\n\r\n<!-- Enter any applicable Issues here -->\r\n"},"comment":{"url":"https://api.github.com/repos/atom/atom/issues/comments/319409724","html_url":"https://github.com/atom/atom/pull/15046#issuecomment-319409724","issue_url":"https://api.github.com/repos/atom/atom/issues/15046","id":319409724,"user":{"login":"karljang","id":861393,"avatar_url":"https://avatars2.githubusercontent.com/u/861393?v=4","gravatar_id":"","url":"https://api.github.com/users/karljang","html_url":"https://github.com/karljang","followers_url":"https://api.github.com/users/karljang/followers","following_url":"https://api.github.com/users/karljang/following{/other_user}","gists_url":"https://api.github.com/users/karljang/gists{/gist_id}","starred_url":"https://api.github.com/users/karljang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/karljang/subscriptions","organizations_url":"https://api.github.com/users/karljang/orgs","repos_url":"https://api.github.com/users/karljang/repos","events_url":"https://api.github.com/users/karljang/events{/privacy}","received_events_url":"https://api.github.com/users/karljang/received_events","type":"User","site_admin":false},"created_at":"2017-08-01T15:41:09Z","updated_at":"2017-08-01T15:41:09Z","body":"Hi~ @50Wliu,\r\nCan I get this reviewed?\r\nAs a daily user of Atom, I really want this issue to be fixed.."}}
{"actor":{"display_login":"karljang"}}