【Linux】【操作】Linux操作集锦系列之三——进程管理系列之(四)进程切换命令

简介: 【Linux】【操作】Linux操作集锦系列之三——进程管理系列之(四)进程切换命令
  • 本系列文章,将整理一系列Linux环境下进程相关的操作命令,包括进程启动、kill、挂起、查看、前后台进程切换等各种命令。


  • 本文为本系列的第四篇,进程的切换,主要关注如何在前后台切换一个作业。


ctrl + z


  • 可以将一个正在前台执行的命令放到后台,且处于暂停状态,不可执行;


  • 一般和bg命令配合使用:先ctrl + z再bg,这样进程就被移到后台运行,终端还能继续接受其他命令;


&


  • 加在一个命令的最后,可以把这个命令放到后台执行 ,如:


[qxhgd@localhost ~]$ sudo vsftpd &
[1] 2368


jobs


  • 作业控制中的关键命令是jobs命令,jobs可显示 Linux 中的任务列表及任务状态,包括后台运行的任务(包括使用ctrl+z或&操作过的任务);


  • jobs命令中输出有加号和减号,带加号的作业被当做默认作业,带减号的为下一个默认作业;


  • 该命令可以显示任务号及其对应的进程号。其中,任务号是以普通用户的角度进行的,而进程号则是从系统管理员的角度来看的。一个任务可以对应于一个或者多个进程号。


  • jobs 只限于某个控制台,控制台间彼此不通用,A控制台中的job ,在B控制台用jobs 看不到 ,但是用ps -aux 可以看到相应进程;


  • job 不管是在前台还是在后台,也不管什么状态,其依赖于所在的控制台,关闭控制台后所有job 将不复存在;


  • job在后台运行时,不会被ctrl+c中断,但是输出仍然会显示到屏幕上,如果不希望输出,则可借助/dev/null设备;


[qxhgd@localhost ~]$ jobs
[1]-  Stopped                 top
[2]+  Stopped                 top


fg


  • 将后台中的命令调至前台继续运行;


  • 如果后台中有多个命令,可以用 fg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid);


[qxhgd@localhost ~]$ sudo vsftpd&
[1] 8103
[1]+  Stopped                 sudo vsftpd
[qxhgd@localhost ~]$ jobs
[1]+  Stopped                 sudo vsftpd
[qxhgd@localhost ~]$ fg 1
sudo vsftpd
[sudo] password for qxhgd:
[qxhgd@localhost ~]$ jobs
[qxhgd@localhost ~]$ ps -aef | grep vsftpd
root       1324      1  0 Apr10 ?        00:00:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
qxhgd      8125   7943  0 05:54 pts/1    00:00:00 grep --color=auto vsftpd


bg


  • 将一个在后台暂停的命令,变成继续执行 (在后台执行);


  • 如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid);


  • 一个综合的例子,按top->ctrl+z->jobs->bg操作:


[qxhgd@localhost ~]$ top
top - 05:58:07 up  6:02,  2 users,  load average: 0.01, 0.20, 0.23
Tasks: 271 total,   1 running, 270 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  6.2 sy,  0.0 ni, 93.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1863076 total,   150012 free,   872996 used,   840068 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.   807612 avail Mem
   PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
  8192 qxhgd     20   0  162160   2304   1532 R 12.5  0.1   0:00.02 top
     1 root      20   0  125604   4184   2628 S  0.0  0.2   0:02.86 systemd
     2 root      20   0       0      0      0 S  0.0  0.0   0:00.02 kthreadd
     ...
[1]+  Stopped                 top
[qxhgd@localhost ~]$ jobs
[1]+  Stopped                 top
[qxhgd@localhost ~]$ bg 1
[1]+ top &


参考资料


相关文章
|
4天前
|
缓存 监控 Linux
linux进程管理万字详解!!!
本文档介绍了Linux系统中进程管理、系统负载监控、内存监控和磁盘监控的基本概念和常用命令。主要内容包括: 1. **进程管理**: - **进程介绍**:程序与进程的关系、进程的生命周期、查看进程号和父进程号的方法。 - **进程监控命令**:`ps`、`pstree`、`pidof`、`top`、`htop`、`lsof`等命令的使用方法和案例。 - **进程管理命令**:控制信号、`kill`、`pkill`、`killall`、前台和后台运行、`screen`、`nohup`等命令的使用方法和案例。
26 4
linux进程管理万字详解!!!
|
2天前
|
缓存 监控 Linux
|
6天前
|
Linux Shell 数据安全/隐私保护
|
7天前
|
域名解析 网络协议 安全
|
13天前
|
运维 监控 网络协议
|
4天前
|
算法 Linux 定位技术
Linux内核中的进程调度算法解析####
【10月更文挑战第29天】 本文深入剖析了Linux操作系统的心脏——内核中至关重要的组成部分之一,即进程调度机制。不同于传统的摘要概述,我们将通过一段引人入胜的故事线来揭开进程调度算法的神秘面纱,展现其背后的精妙设计与复杂逻辑,让读者仿佛跟随一位虚拟的“进程侦探”,一步步探索Linux如何高效、公平地管理众多进程,确保系统资源的最优分配与利用。 ####
24 4
|
3天前
|
缓存 Linux 开发者
深入理解Linux命令 `autom4te`
`autom4te` 是 GNU Autotools 中不可或缺的组件,通过高效处理 M4 宏,生成配置脚本并提供强大的调试功能。了解 `autom4te` 的工作机制和常用选项,可以帮助开发者更好地编写和维护配置文件,从而提高软件项目的配置和编译效率。在实际应用中,结合 `autoconf` 等工具,`autom4te` 能够为项目的构建过程提供坚实的基础。
11 2
|
4天前
|
Linux 开发工具
linux文本管理命令
本文档介绍了Linux系统中常用的文本处理命令,包括`echo`、`cat`、`head`、`tail`、`wc`、`less`、`grep`以及重定向符号的使用方法和练习题。此外,还详细讲解了VIM编辑器的特点、工作模式、常用快捷键和高级技巧,帮助用户高效地进行文本编辑和处理。
20 4
|
5天前
|
缓存 负载均衡 算法
Linux内核中的进程调度算法解析####
本文深入探讨了Linux操作系统核心组件之一——进程调度器,着重分析了其采用的CFS(完全公平调度器)算法。不同于传统摘要对研究背景、方法、结果和结论的概述,本文摘要将直接揭示CFS算法的核心优势及其在现代多核处理器环境下如何实现高效、公平的资源分配,同时简要提及该算法如何优化系统响应时间和吞吐量,为读者快速构建对Linux进程调度机制的认知框架。 ####
|
6天前
|
消息中间件 存储 Linux