Loading... # 背景 最近项目即将上线,在生产环境下总是要使用命令,但是当前运行着任务呢,不能输入其它命令,如何使其后台运行呢?(在没有使用`command &`)方法时。 # 命令 ```bash bg # 暂停的进程后台运行 fg # 暂停的进程前台运行 jobs # 显示当前后台运行的任务 ctrl + z # 暂停当前前台任务 ``` # 解释 ctrl + z 虽然程序切换至后台,但是程序的运行状态是暂停,比如开启一个web服务器,通过ctrl+z后,访问这个web服务器,服务器是无法给客户端响应的。 # 结束后台运行任务 当我们使用`kill` 或 `pkill`结束进程后,`ps`命令看到相应的进程是defunct状态,也就是*僵尸进程*,通过`fg`或`bg`命令,使其激活,才能真正的结束这个进程。 # 启动时使其后台运行 在命令后加上`&`就可以使其后台运行了,比如: ```bash dotnet AssetManagement.dll --urls=http://*:8088 --environment=Delopment & ``` 但是这种方法使其后台运行后,关闭这个终端,会结束这个进程,所以并不能持久运行 # :star2:关闭终端后仍要运行 通过`nohup` 命令使其一直运行 ```bash nohup dotnet AssetManagement.dll --urls=http://*:8081 --environment=Delopment & ``` © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏