async issue on app.listen(...)
## Describe the bug
[app.listen](https://github.com/Lucyfurnice/koa-test/blob/35d18ee082eaba8b33d671f0c71f1571faa8fb1f/core.js/application.js#L18)
happens after
[process.exit](https://github.com/Lucyfurnice/koa-test/blob/35d18ee082eaba8b33d671f0c71f1571faa8fb1f/main.js#L17)
**Node.js version:** <!-- Write your Node.js version. -->
v18.18.2 LTS
**OS version:** <!-- Write your operating system and version. -->
Microsoft Windows [Version 10.0.22621.2428]
**Description:** <!-- A clear and concise description of what the bug is. -->
Process.exit is happening before app.listen(...)
## Actual behavior
app.listen(...) happens after process.exit(...)
## Expected behavior
app.listen loops until ctrl+c then main function returns error code, and then process exits with main function error code.


## Code to reproduce
[lucyfurnice/koa-test](https://github.com/Lucyfurnice/koa-test)
<!-- Share code to reproduce here inside a code formatted block, gist, or a repository we can clone to reproduce. -->

<!--
We encourage you to submit a pull request with a failing test:

1) This will make it more likely for us to prioritize your issue.
2) It's a good way to prove that the issue is related to this project and not your code.

Example: <https://github.com/avajs/ava/blob/master/docs/01-writing-tests.md#failing-tests>
-->

## Checklist

- [x] I have searched through GitHub issues for similar issues.
- [ ] I have completely read through the README and documentation.
- [x] I have tested my code with the latest version of Node.js and this package and confirmed it is still not working.
- [x] I have examined the node.js source for net.Server and http.Server.
