Linux前后台进程切换
(1).Linux前台进程与后台进程的区别
前台进程:是在终端中运行的命令,那么该终端就为进程的控制终端,一旦这个终端关闭,这个进程也随之消失。
后台进程:也叫守护进程(Daemon),是运行在后台的一种特殊进程,不受终端控制,它不需要终端的交互;Linux的大多数服务器就是使用守护进程实现的。比如Web服务器的httpd等。
(2).进程的前台与后台运行
与系统任务相关的几个命令(了解):
& | 用在一个命令的最后,可以把这个命令放到后台执行 |
<Ctrl>+z | 将一个正在前台执行的命令放到后台,并暂停 |
jobs | 查看当前有多少在后台运行的进程。这是一个作业控制命令 |
fg(foregroud process) | 将后台中的命令调至前台继续运行。如果后台中有多个命令,可以用fg [jobnumber]将选中的命令调出,jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid) |
bg(backgroud process) | 将一个在后台暂停的命令,变成继续执行。如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid) |
(3).&的使用
如果直接使用&,部分命令仍然在前台显示,例如"ping 127.0.0.1 &"。此时我们可以使用nohup命令帮助,"nohup ping 127.0.0.1 &",在执行时会创建一个nohup.out的文件。
(4).恢复被挂起的进程
首先准备一个实验环境,创建三个被挂起的进程
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [xf@xuexi ~]$ vim 1.txt [1]+ 已停止 vim 1.txt [xf@xuexi ~]$ vim 3.txt [2]+ 已停止 vim 3.txt [xf@xuexi ~]$ vim 2.txt [3]+ 已停止 vim 2.txt [xf@xuexi ~]$ ps -aux | grep vim xf 10277 0.2 0.2 151796 5372 pts/0 T 14:02 0:00 vim 1.txt xf 10284 0.4 0.2 151796 5352 pts/0 T 14:02 0:00 vim 3.txt xf 10291 1.5 0.2 151796 5376 pts/0 T 14:02 0:00 vim 2.txt xf 10299 0.0 0.0 112724 988 pts/0 S+ 14:02 0:00 grep --color=auto vim |
接着查看后台进程
1 2 3 4 | [xf@xuexi ~]$ jobs [1] 已停止 vim 1.txt [2]- 已停止 vim 3.txt [3]+ 已停止 vim 2.txt |
恢复vim 3.txt的进程
1 2 | [xf@xuexi ~]$ fg 2 vim 3.txt |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性