Linux bg 和 fg 命令以及相关说明

背景

最近项目即将上线,在生产环境下总是要使用命令,但是当前运行着任务呢,不能输入其它命令,如何使其后台运行呢?(在没有使用command &)方法时。

命令

bg   # 暂停的进程后台运行
fg    # 暂停的进程前台运行
jobs # 显示当前后台运行的任务
ctrl + z # 暂停当前前台任务

解释

ctrl + z 虽然程序切换至后台,但是程序的运行状态是暂停,比如开启一个web服务器,通过ctrl+z后,访问这个web服务器,服务器是无法给客户端响应的。

结束后台运行任务

当我们使用kill 或 pkill结束进程后,ps命令看到相应的进程是defunct状态,也就是僵尸进程,通过fg或bg命令,使其激活,才能真正的结束这个进程。

启动时使其后台运行

在命令后加上&就可以使其后台运行了,比如:

dotnet AssetManagement.dll --urls=http://*:8088 --environment=Delopment &

但是这种方法使其后台运行后,关闭这个终端,会结束这个进程,所以并不能持久运行

:star2:关闭终端后仍要运行

通过nohup 命令使其一直运行

nohup dotnet AssetManagement.dll --urls=http://*:8081 --environment=Delopment &

评论 0

还没有评论,来说点什么吧。

提交后需要审核才会公开。